aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain
diff options
context:
space:
mode:
authorNikita Mikhailov <nikita.s.mikhailov@gmail.com>2016-04-16 15:45:43 +0600
committerNikita Mikhailov <nikita.s.mikhailov@gmail.com>2016-04-16 15:45:43 +0600
commit935f88131e47c19df5bb8bb5dd13d20d391f0794 (patch)
treec12da39c20f9cad6bce2b69b7aa4535921962ab2 /OpenKeychain
parenta87c65c3f480ae06070607f2cd0f5227012d6cd3 (diff)
downloadopen-keychain-935f88131e47c19df5bb8bb5dd13d20d391f0794.tar.gz
open-keychain-935f88131e47c19df5bb8bb5dd13d20d391f0794.tar.bz2
open-keychain-935f88131e47c19df5bb8bb5dd13d20d391f0794.zip
Check subkey id instead of masterkey id on security token operations
Rename ambiguous getMasterKeyFingerprint -> getKeyFingerprint
Diffstat (limited to 'OpenKeychain')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/SecurityTokenHelper.java10
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SecurityTokenOperationActivity.java8
2 files changed, 10 insertions, 8 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/SecurityTokenHelper.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/SecurityTokenHelper.java
index ed17fc379..0040d6958 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/SecurityTokenHelper.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/SecurityTokenHelper.java
@@ -22,6 +22,8 @@
package org.sufficientlysecure.keychain.securitytoken;
+import android.support.annotation.NonNull;
+
import org.bouncycastle.bcpg.HashAlgorithmTags;
import org.bouncycastle.util.Arrays;
import org.bouncycastle.util.encoders.Hex;
@@ -131,13 +133,13 @@ public class SecurityTokenHelper {
private boolean isSlotEmpty(KeyType keyType) throws IOException {
// Note: special case: This should not happen, but happens with
// https://github.com/FluffyKaon/OpenPGP-Card, thus for now assume true
- if (getMasterKeyFingerprint(keyType) == null) return true;
+ if (getKeyFingerprint(keyType) == null) return true;
return keyMatchesFingerPrint(keyType, BLANK_FINGERPRINT);
}
public boolean keyMatchesFingerPrint(KeyType keyType, byte[] fingerprint) throws IOException {
- return java.util.Arrays.equals(getMasterKeyFingerprint(keyType), fingerprint);
+ return java.util.Arrays.equals(getKeyFingerprint(keyType), fingerprint);
}
/**
@@ -723,10 +725,10 @@ public class SecurityTokenHelper {
* Return the fingerprint from application specific data stored on tag, or
* null if it doesn't exist.
*
- * @param keyType key.operatio type
+ * @param keyType key type
* @return The fingerprint of the requested key, or null if not found.
*/
- public byte[] getMasterKeyFingerprint(KeyType keyType) throws IOException {
+ public byte[] getKeyFingerprint(@NonNull KeyType keyType) throws IOException {
byte[] data = getFingerprints();
if (data == null) {
return null;
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SecurityTokenOperationActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SecurityTokenOperationActivity.java
index af7246abc..925ad19d4 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SecurityTokenOperationActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SecurityTokenOperationActivity.java
@@ -186,9 +186,9 @@ public class SecurityTokenOperationActivity extends BaseSecurityTokenNfcActivity
switch (mRequiredInput.mType) {
case SECURITY_TOKEN_DECRYPT: {
long tokenKeyId = KeyFormattingUtils.getKeyIdFromFingerprint(
- mSecurityTokenHelper.getMasterKeyFingerprint(KeyType.SIGN));
+ mSecurityTokenHelper.getKeyFingerprint(KeyType.ENCRYPT));
- if (tokenKeyId != mRequiredInput.getMasterKeyId()) {
+ if (tokenKeyId != mRequiredInput.getSubKeyId()) {
throw new IOException(getString(R.string.error_wrong_security_token));
}
@@ -201,9 +201,9 @@ public class SecurityTokenOperationActivity extends BaseSecurityTokenNfcActivity
}
case SECURITY_TOKEN_SIGN: {
long tokenKeyId = KeyFormattingUtils.getKeyIdFromFingerprint(
- mSecurityTokenHelper.getMasterKeyFingerprint(KeyType.SIGN));
+ mSecurityTokenHelper.getKeyFingerprint(KeyType.SIGN));
- if (tokenKeyId != mRequiredInput.getMasterKeyId()) {
+ if (tokenKeyId != mRequiredInput.getSubKeyId()) {
throw new IOException(getString(R.string.error_wrong_security_token));
}