From 9c1f6fc8129d9df7e26922ddaed8ddde8b0e10b3 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Tue, 14 Jan 2020 22:10:07 +0100 Subject: [PATCH] return null-cryptors for unprotected keys --- .../PasswordBasedSecretKeyRingProtector.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pgpainless-core/src/main/java/org/pgpainless/key/protection/PasswordBasedSecretKeyRingProtector.java b/pgpainless-core/src/main/java/org/pgpainless/key/protection/PasswordBasedSecretKeyRingProtector.java index 4fbc2145..56e01cd5 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/key/protection/PasswordBasedSecretKeyRingProtector.java +++ b/pgpainless-core/src/main/java/org/pgpainless/key/protection/PasswordBasedSecretKeyRingProtector.java @@ -55,18 +55,20 @@ public class PasswordBasedSecretKeyRingProtector implements SecretKeyRingProtect @Nullable public PBESecretKeyDecryptor getDecryptor(Long keyId) { Passphrase passphrase = passphraseProvider.getPassphraseFor(keyId); - return new BcPBESecretKeyDecryptorBuilder(calculatorProvider) - .build(passphrase != null ? passphrase.getChars() : null); + return passphrase == null ? null : + new BcPBESecretKeyDecryptorBuilder(calculatorProvider) + .build(passphrase.getChars()); } @Override @Nullable public PBESecretKeyEncryptor getEncryptor(Long keyId) throws PGPException { Passphrase passphrase = passphraseProvider.getPassphraseFor(keyId); - return new BcPBESecretKeyEncryptorBuilder( - protectionSettings.getEncryptionAlgorithm().getAlgorithmId(), - calculatorProvider.get(protectionSettings.getHashAlgorithm().getAlgorithmId()), - protectionSettings.getS2kCount()) - .build(passphrase != null ? passphrase.getChars() : null); + return passphrase == null ? null : + new BcPBESecretKeyEncryptorBuilder( + protectionSettings.getEncryptionAlgorithm().getAlgorithmId(), + calculatorProvider.get(protectionSettings.getHashAlgorithm().getAlgorithmId()), + protectionSettings.getS2kCount()) + .build(passphrase.getChars()); } }