diff options
| -rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpKeyOperation.java | 6 | ||||
| -rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java | 14 | 
2 files changed, 10 insertions, 10 deletions
| diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpKeyOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpKeyOperation.java index 6fedbc683..c8ce349f8 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpKeyOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpKeyOperation.java @@ -933,7 +933,8 @@ public class PgpKeyOperation {              PGPSignature emptySig = sGen.generateCertification(masterPublicKey);              masterPublicKey = PGPPublicKey.addCertification(masterPublicKey, emptySig); -            PGPSecretKey.replacePublicKey(sKR.getSecretKey(), masterPublicKey); +            sKR = PGPSecretKeyRing.insertSecretKey(sKR, +                    PGPSecretKey.replacePublicKey(sKR.getSecretKey(), masterPublicKey));              return sKR;          } @@ -956,7 +957,8 @@ public class PgpKeyOperation {              PGPSignature emptySig = sGen.generateCertification(masterPublicKey);              masterPublicKey = PGPPublicKey.addCertification(masterPublicKey, emptySig); -            PGPSecretKey.replacePublicKey(sKR.getSecretKey(), masterPublicKey); +            sKR = PGPSecretKeyRing.insertSecretKey(sKR, +                    PGPSecretKey.replacePublicKey(sKR.getSecretKey(), masterPublicKey));              return sKR;          } diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java index 8d1eaa40e..5e5a28e83 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/UncachedKeyRing.java @@ -349,14 +349,6 @@ public class UncachedKeyRing {                      continue;                  } -                if (cert.isLocal()) { -                    // Remove revocation certs with "local" flag -                    log.add(LogType.MSG_KC_REVOKE_BAD_LOCAL, indent); -                    modified = PGPPublicKey.removeCertification(modified, zert); -                    badCerts += 1; -                    continue; -                } -                  // special case: direct key signatures!                  if (cert.getSignatureType() == PGPSignature.DIRECT_KEY) {                      // must be local, otherwise strip! @@ -382,6 +374,12 @@ public class UncachedKeyRing {                          redundantCerts += 1;                      }                      continue; +                } else if (cert.isLocal()) { +                    // Remove revocation certs with "local" flag +                    log.add(LogType.MSG_KC_REVOKE_BAD_LOCAL, indent); +                    modified = PGPPublicKey.removeCertification(modified, zert); +                    badCerts += 1; +                    continue;                  }                  // first revocation? fine then. | 
