Fix BaseSecretKeyRingProtector misinterpreting empty passphrases

This commit is contained in:
Paul Schaub 2021-12-02 14:44:03 +01:00
parent 14c1cf013e
commit e7d0cf9c00
Signed by: vanitasvitae
GPG Key ID: 62BEE9264BF17311
1 changed files with 2 additions and 2 deletions

View File

@ -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(),