From b47412eb1e2b983f803e6227ea5d07fdead9fe5a Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Sun, 12 Oct 2014 19:22:34 +0200 Subject: CertifyOperation is not a Pgp- operation --- .../keychain/pgp/CanonicalizedSecretKey.java | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedSecretKey.java') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedSecretKey.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedSecretKey.java index a65759a3b..f9fa41528 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedSecretKey.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/CanonicalizedSecretKey.java @@ -285,8 +285,7 @@ public class CanonicalizedSecretKey extends CanonicalizedPublicKey { * @return A keyring with added certifications */ public UncachedKeyRing certifyUserIds(CanonicalizedPublicKeyRing publicKeyRing, List userIds, - byte[] nfcSignedHash, Date nfcCreationTimestamp) - throws PGPException { + byte[] nfcSignedHash, Date nfcCreationTimestamp) { if (mPrivateKeyState == PRIVATE_KEY_STATE_LOCKED) { throw new PrivateKeyNotUnlockedException(); } @@ -299,7 +298,12 @@ public class CanonicalizedSecretKey extends CanonicalizedPublicKey { nfcSignedHash, nfcCreationTimestamp); signatureGenerator = new PGPSignatureGenerator(contentSignerBuilder); - signatureGenerator.init(PGPSignature.DEFAULT_CERTIFICATION, mPrivateKey); + try { + signatureGenerator.init(PGPSignature.DEFAULT_CERTIFICATION, mPrivateKey); + } catch (PGPException e) { + Log.e(Constants.TAG, "signing error", e); + return null; + } } { // supply signatureGenerator with a SubpacketVector @@ -318,9 +322,14 @@ public class CanonicalizedSecretKey extends CanonicalizedPublicKey { // fetch public key ring, add the certification and return it Iterable it = userIds != null ? userIds : new IterableIterator(publicKey.getUserIDs()); - for (String userId : it) { - PGPSignature sig = signatureGenerator.generateCertification(userId, publicKey); - publicKey = PGPPublicKey.addCertification(publicKey, userId, sig); + try { + for (String userId : it) { + PGPSignature sig = signatureGenerator.generateCertification(userId, publicKey); + publicKey = PGPPublicKey.addCertification(publicKey, userId, sig); + } + } catch (PGPException e) { + Log.e(Constants.TAG, "signing error", e); + return null; } PGPPublicKeyRing ring = PGPPublicKeyRing.insertPublicKey(publicKeyRing.getRing(), publicKey); -- cgit v1.2.3