aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CachedSecretKey.java
diff options
context:
space:
mode:
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CachedSecretKey.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CachedSecretKey.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CachedSecretKey.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CachedSecretKey.java
index d0b18d757..948227819 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CachedSecretKey.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CachedSecretKey.java
@@ -41,17 +41,18 @@ public class CachedSecretKey extends CachedPublicKey {
return (CachedSecretKeyRing) mRing;
}
- public void unlock(String passphrase) throws PgpGeneralException {
+ public boolean unlock(String passphrase) throws PgpGeneralException {
try {
PBESecretKeyDecryptor keyDecryptor = new JcePBESecretKeyDecryptorBuilder().setProvider(
Constants.BOUNCY_CASTLE_PROVIDER_NAME).build(passphrase.toCharArray());
mPrivateKey = mSecretKey.extractPrivateKey(keyDecryptor);
} catch (PGPException e) {
- throw new PgpGeneralException("error extracting key!", e);
+ return false;
}
if(mPrivateKey == null) {
- throw new PgpGeneralException("error extracting key (bad passphrase?)");
+ throw new PgpGeneralException("error extracting key");
}
+ return true;
}
public PGPSignatureGenerator getSignatureGenerator(int hashAlgo, boolean cleartext)