diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeyWritableRepository.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeyWritableRepository.java index 0a6786d76..e62bf721b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeyWritableRepository.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/KeyWritableRepository.java @@ -309,15 +309,17 @@ public class KeyWritableRepository extends KeyRepository { } - // do we have a trusted key for this? - if (trustedKeys.indexOfKey(certId) < 0) { - if (!signerKeyIds.contains(certId)) { - operations.add(ContentProviderOperation.newInsert(KeySignatures.CONTENT_URI) - .withValue(KeySignatures.MASTER_KEY_ID, masterKeyId) - .withValue(KeySignatures.SIGNER_KEY_ID, certId) - .build()); - signerKeyIds.add(certId); - } + // keep a note about the issuer of this key signature + if (!signerKeyIds.contains(certId)) { + operations.add(ContentProviderOperation.newInsert(KeySignatures.CONTENT_URI) + .withValue(KeySignatures.MASTER_KEY_ID, masterKeyId) + .withValue(KeySignatures.SIGNER_KEY_ID, certId) + .build()); + signerKeyIds.add(certId); + } + + boolean isSignatureFromTrustedKey = trustedKeys.indexOfKey(certId) >= 0; + if (!isSignatureFromTrustedKey) { unknownCerts += 1; continue; }