aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/javacard/BaseJavacardDevice.java
diff options
context:
space:
mode:
authorNikita Mikhailov <nikita.s.mikhailov@gmail.com>2016-04-04 01:31:14 +0600
committerNikita Mikhailov <nikita.s.mikhailov@gmail.com>2016-04-14 22:48:01 +0600
commit3d538d885e0ed52640ea72d538fe1752a5ffe1f2 (patch)
tree6fc0227e3845ec4ed3083e0fe6d6b233dee66d95 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/javacard/BaseJavacardDevice.java
parentbd2906a887f22c415f9b194481607660db2216f6 (diff)
downloadopen-keychain-3d538d885e0ed52640ea72d538fe1752a5ffe1f2.tar.gz
open-keychain-3d538d885e0ed52640ea72d538fe1752a5ffe1f2.tar.bz2
open-keychain-3d538d885e0ed52640ea72d538fe1752a5ffe1f2.zip
OTG: Usb device manager fixes
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/javacard/BaseJavacardDevice.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/javacard/BaseJavacardDevice.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/javacard/BaseJavacardDevice.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/javacard/BaseJavacardDevice.java
index 46f4c0443..f81d234b3 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/javacard/BaseJavacardDevice.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/javacard/BaseJavacardDevice.java
@@ -22,7 +22,7 @@ public class BaseJavacardDevice implements JavacardDevice {
private static final String FIDESMO_APPS_AID_PREFIX = "A000000617";
private static final byte[] BLANK_FINGERPRINT = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
- private final Transport mTransport;
+ private Transport mTransport;
private Passphrase mPin;
private Passphrase mAdminPin;
@@ -32,8 +32,7 @@ public class BaseJavacardDevice implements JavacardDevice {
private boolean mPw3Validated;
private boolean mTagHandlingEnabled;
- public BaseJavacardDevice(final Transport mTransport) {
- this.mTransport = mTransport;
+ public BaseJavacardDevice() {
}
private static String getHex(byte[] raw) {
@@ -528,6 +527,9 @@ public class BaseJavacardDevice implements JavacardDevice {
String response = nfcCommunicate(apdu);
+ if (response.length() < 4) {
+ throw new CardException("Bad response", (short) 0);
+ }
// split up response into signature and status
String status = response.substring(response.length() - 4);
String signature = response.substring(0, response.length() - 4);
@@ -722,4 +724,9 @@ public class BaseJavacardDevice implements JavacardDevice {
return fp;
}
+ @Override
+ public void setTransport(Transport mTransport) {
+ this.mTransport = mTransport;
+
+ }
}