From e7d0cf9c0081ef762d618a691e8c2e5262236560 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Thu, 2 Dec 2021 14:44:03 +0100 Subject: [PATCH] Fix BaseSecretKeyRingProtector misinterpreting empty passphrases --- .../pgpainless/key/protection/BaseSecretKeyRingProtector.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pgpainless-core/src/main/java/org/pgpainless/key/protection/BaseSecretKeyRingProtector.java b/pgpainless-core/src/main/java/org/pgpainless/key/protection/BaseSecretKeyRingProtector.java index 6df10082..5b545c12 100644 --- a/pgpainless-core/src/main/java/org/pgpainless/key/protection/BaseSecretKeyRingProtector.java +++ b/pgpainless-core/src/main/java/org/pgpainless/key/protection/BaseSecretKeyRingProtector.java @@ -36,7 +36,7 @@ public class BaseSecretKeyRingProtector implements SecretKeyRingProtector { @Nullable public PBESecretKeyDecryptor getDecryptor(Long keyId) throws PGPException { Passphrase passphrase = passphraseProvider.getPassphraseFor(keyId); - return passphrase == null ? null : + return passphrase == null || passphrase.isEmpty() ? null : ImplementationFactory.getInstance().getPBESecretKeyDecryptor(passphrase); } @@ -44,7 +44,7 @@ public class BaseSecretKeyRingProtector implements SecretKeyRingProtector { @Nullable public PBESecretKeyEncryptor getEncryptor(Long keyId) throws PGPException { Passphrase passphrase = passphraseProvider.getPassphraseFor(keyId); - return passphrase == null ? null : + return passphrase == null || passphrase.isEmpty() ? null : ImplementationFactory.getInstance().getPBESecretKeyEncryptor( protectionSettings.getEncryptionAlgorithm(), protectionSettings.getHashAlgorithm(),