From dca5dfe3aa23ac62d3af352224443800e17229ec Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Mon, 2 Jul 2018 14:37:05 +0200 Subject: [PATCH] save all signature relations in KeySignatures table --- .../provider/KeyWritableRepository.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) 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; }