diff options
author | clemenso <clemenso@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2010-08-23 16:26:57 +0000 |
---|---|---|
committer | clemenso <clemenso@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2010-08-23 16:26:57 +0000 |
commit | 5ea646343e8b2de10b0c4471a0a55353d92f4e7c (patch) | |
tree | f25b01bd460fda1de82a27d6b68bb3b6529fea8a | |
parent | d04dcc2f942bdf01b003e9db9a1fd1bbd4228835 (diff) | |
download | mocca-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.java | 14 | ||||
-rw-r--r-- | smcc/src/main/java/at/gv/egiz/smcc/reader/ReaderFactory.java | 10 |
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); } |