From 405b959fb8047d197b4447c568df87938a2a5638 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Mon, 31 Aug 2015 23:42:19 +0200 Subject: No show key button for RESULT_INVALID_SIGNATURE, Cleanup --- .../sufficientlysecure/keychain/ui/NfcOperationActivity.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NfcOperationActivity.java') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NfcOperationActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NfcOperationActivity.java index d9b31de98..7a2313e0f 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NfcOperationActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/NfcOperationActivity.java @@ -313,11 +313,16 @@ public class NfcOperationActivity extends BaseNfcActivity { } private boolean shouldPutKey(byte[] fingerprint, int idx) throws IOException { - byte[] cardFingerprint = nfcGetFingerprint(idx); + byte[] cardFingerprint = nfcGetMasterKeyFingerprint(idx); + + // Note: special case: This should not happen, but happens with + // https://github.com/FluffyKaon/OpenPGP-Card, thus for now assume true + if (cardFingerprint == null) { + return true; + } // Slot is empty, or contains this key already. PUT KEY operation is safe - if (cardFingerprint == null || - Arrays.equals(cardFingerprint, BLANK_FINGERPRINT) || + if (Arrays.equals(cardFingerprint, BLANK_FINGERPRINT) || Arrays.equals(cardFingerprint, fingerprint)) { return true; } -- cgit v1.2.3