From dd82374b1711e552eabbfe30fdff464650682aec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Mon, 11 Feb 2019 15:46:14 +0100 Subject: [PATCH] update USB identifier to reflect YubiKey 5 series --- .../securitytoken/SecurityTokenInfo.java | 6 +++--- .../securitytoken/usb/UsbTransport.java | 18 +++++++++--------- .../securitytoken/SecurityTokenUtilsTest.java | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/SecurityTokenInfo.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/SecurityTokenInfo.java index 77ab3d987..9e107371e 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/SecurityTokenInfo.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/SecurityTokenInfo.java @@ -116,13 +116,13 @@ public abstract class SecurityTokenInfo implements Parcelable { } public enum TokenType { - YUBIKEY_NEO, YUBIKEY_4, FIDESMO, NITROKEY_PRO, NITROKEY_STORAGE, NITROKEY_START_OLD, + YUBIKEY_NEO, YUBIKEY_4_5, FIDESMO, NITROKEY_PRO, NITROKEY_STORAGE, NITROKEY_START_OLD, NITROKEY_START_1_25_AND_NEWER, GNUK_OLD, GNUK_1_25_AND_NEWER, LEDGER_NANO_S, SECALOT, UNKNOWN } public static final Set SUPPORTED_USB_TOKENS = Collections.unmodifiableSet(new HashSet<>(Arrays.asList( TokenType.YUBIKEY_NEO, - TokenType.YUBIKEY_4, + TokenType.YUBIKEY_4_5, TokenType.NITROKEY_PRO, TokenType.NITROKEY_STORAGE, TokenType.NITROKEY_START_OLD, @@ -135,7 +135,7 @@ public abstract class SecurityTokenInfo implements Parcelable { private static final Set SUPPORTED_USB_SETUP = Collections.unmodifiableSet(new HashSet<>(Arrays.asList( TokenType.YUBIKEY_NEO, - TokenType.YUBIKEY_4, + TokenType.YUBIKEY_4_5, TokenType.NITROKEY_PRO, TokenType.NITROKEY_STORAGE, TokenType.NITROKEY_START_1_25_AND_NEWER, diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/usb/UsbTransport.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/usb/UsbTransport.java index 134985338..9c8fd28de 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/usb/UsbTransport.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/usb/UsbTransport.java @@ -56,10 +56,10 @@ public class UsbTransport implements Transport { private static final int PRODUCT_YUBIKEY_NEO_CCID = 274; private static final int PRODUCT_YUBIKEY_NEO_U2F_CCID = 277; private static final int PRODUCT_YUBIKEY_NEO_OTP_U2F_CCID = 278; - private static final int PRODUCT_YUBIKEY_4_CCID = 1028; - private static final int PRODUCT_YUBIKEY_4_OTP_CCID = 1029; - private static final int PRODUCT_YUBIKEY_4_U2F_CCID = 1030; - private static final int PRODUCT_YUBIKEY_4_OTP_U2F_CCID = 1031; + private static final int PRODUCT_YUBIKEY_4_5_CCID = 1028; + private static final int PRODUCT_YUBIKEY_4_5_OTP_CCID = 1029; + private static final int PRODUCT_YUBIKEY_4_5_FIDO_CCID = 1030; + private static final int PRODUCT_YUBIKEY_4_5_OTP_FIDO_CCID = 1031; // https://www.nitrokey.com/de/documentation/installation#p:nitrokey-pro&os:linux private static final int VENDOR_NITROKEY = 8352; @@ -226,11 +226,11 @@ public class UsbTransport implements Transport { case PRODUCT_YUBIKEY_NEO_U2F_CCID: case PRODUCT_YUBIKEY_NEO_OTP_U2F_CCID: return TokenType.YUBIKEY_NEO; - case PRODUCT_YUBIKEY_4_CCID: - case PRODUCT_YUBIKEY_4_OTP_CCID: - case PRODUCT_YUBIKEY_4_U2F_CCID: - case PRODUCT_YUBIKEY_4_OTP_U2F_CCID: - return TokenType.YUBIKEY_4; + case PRODUCT_YUBIKEY_4_5_CCID: + case PRODUCT_YUBIKEY_4_5_OTP_CCID: + case PRODUCT_YUBIKEY_4_5_FIDO_CCID: + case PRODUCT_YUBIKEY_4_5_OTP_FIDO_CCID: + return TokenType.YUBIKEY_4_5; } break; } diff --git a/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/securitytoken/SecurityTokenUtilsTest.java b/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/securitytoken/SecurityTokenUtilsTest.java index a3c55a1b2..f9ba6b136 100644 --- a/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/securitytoken/SecurityTokenUtilsTest.java +++ b/OpenKeychain/src/test/java/org/sufficientlysecure/keychain/securitytoken/SecurityTokenUtilsTest.java @@ -171,7 +171,7 @@ public class SecurityTokenUtilsTest extends Mockito { Assert.assertEquals(capabilities.hasLifeCycleManagement(), true); // Yk 4 - capabilities = new CardCapabilities(Hex.decode("0073000080059000"), TokenType.YUBIKEY_4); + capabilities = new CardCapabilities(Hex.decode("0073000080059000"), TokenType.YUBIKEY_4_5); Assert.assertEquals(capabilities.hasChaining(), true); Assert.assertEquals(capabilities.hasExtended(), false); Assert.assertEquals(capabilities.hasLifeCycleManagement(), true);