summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorclemenso <clemenso@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4>2010-08-23 16:26:57 +0000
committerclemenso <clemenso@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4>2010-08-23 16:26:57 +0000
commit5ea646343e8b2de10b0c4471a0a55353d92f4e7c (patch)
treef25b01bd460fda1de82a27d6b68bb3b6529fea8a
parentd04dcc2f942bdf01b003e9db9a1fd1bbd4228835 (diff)
downloadmocca-5ea646343e8b2de10b0c4471a0a55353d92f4e7c.tar.gz
mocca-5ea646343e8b2de10b0c4471a0a55353d92f4e7c.tar.bz2
mocca-5ea646343e8b2de10b0c4471a0a55353d92f4e7c.zip
updated to PCSC Part10 r2.02.08
Issue #MOCCA-750 - PCSC Part10 >= r2.02.07 not supported git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@805 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4
-rw-r--r--smcc/src/main/java/at/gv/egiz/smcc/reader/CardReader.java14
-rw-r--r--smcc/src/main/java/at/gv/egiz/smcc/reader/ReaderFactory.java10
2 files changed, 20 insertions, 4 deletions
diff --git a/smcc/src/main/java/at/gv/egiz/smcc/reader/CardReader.java b/smcc/src/main/java/at/gv/egiz/smcc/reader/CardReader.java
index 6c5e939b..392f2fc2 100644
--- a/smcc/src/main/java/at/gv/egiz/smcc/reader/CardReader.java
+++ b/smcc/src/main/java/at/gv/egiz/smcc/reader/CardReader.java
@@ -55,7 +55,9 @@ public interface CardReader {
"FEATURE_MODIFY_PIN_DIRECT_APP_ID",
"FEATURE_WRITE_DISPLAY",
"FEATURE_GET_KEY",
- "FEATURE_IFD_DISPLAY_PROPERTIES"};
+ "FEATURE_IFD_DISPLAY_PROPERTIES",
+ "FEATURE_GET_TLV_PROPERTIES",
+ "FEATURE_CCID_ESC_COMMAND"};
static final Byte FEATURE_VERIFY_PIN_START = new Byte((byte) 0x01);
static final Byte FEATURE_VERIFY_PIN_FINISH = new Byte((byte) 0x02);
@@ -67,7 +69,15 @@ public interface CardReader {
static final Byte FEATURE_MCT_READER_DIRECT = new Byte((byte) 0x08);
static final Byte FEATURE_MCT_UNIVERSAL = new Byte((byte) 0x09);
static final Byte FEATURE_IFD_PIN_PROPERTIES = new Byte((byte) 0x0a);
- //TODO continue list
+ static final Byte FEATURE_ABORT = new Byte((byte) 0x0b);
+ static final Byte FEATURE_SET_SPE_MESSAGE = new Byte((byte) 0x0c);
+ static final Byte FEATURE_VERIFY_PIN_DIRECT_APP_ID = new Byte((byte) 0x0d);
+ static final Byte FEATURE_MODIFY_PIN_DIRECT_APP_ID = new Byte((byte) 0x0e);
+ static final Byte FEATURE_WRITE_DISPLAY = new Byte((byte) 0x0f);
+ static final Byte FEATURE_GET_KEY = new Byte((byte) 0x10);
+ static final Byte FEATURE_IFD_DISPLAY_PROPERTIES = new Byte((byte) 0x11);
+ static final Byte FEATURE_GET_TLV_PROPERTIES = new Byte((byte) 0x12);
+ static final Byte FEATURE_CCID_ESC_COMMAND = new Byte((byte) 0x13);
Card connect() throws CardException;
diff --git a/smcc/src/main/java/at/gv/egiz/smcc/reader/ReaderFactory.java b/smcc/src/main/java/at/gv/egiz/smcc/reader/ReaderFactory.java
index 0d0a8d8a..8ce98fcc 100644
--- a/smcc/src/main/java/at/gv/egiz/smcc/reader/ReaderFactory.java
+++ b/smcc/src/main/java/at/gv/egiz/smcc/reader/ReaderFactory.java
@@ -107,8 +107,14 @@ public class ReaderFactory {
((0xff & resp[i + 4]) << 8) |
(0xff & resp[i + 5]);
if (log.isInfoEnabled()) {
- log.info("IFD supports {}: {}", CardReader.FEATURES[feature
- .intValue()], Integer.toHexString(ioctl.intValue()));
+ if (feature.intValue() < CardReader.FEATURES.length) {
+ log.info("IFD supports {}: {}", CardReader.FEATURES[feature
+ .intValue()], Integer.toHexString(ioctl.intValue()));
+ } else {
+ log.info("IFD supports unknown feature 0x{}, : {}", Integer
+ .toHexString(feature), Integer
+ .toHexString(ioctl.intValue()));
+ }
}
features.put(feature, ioctl);
}