diff options
author | tzefferer <tzefferer@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2010-11-29 10:02:31 +0000 |
---|---|---|
committer | tzefferer <tzefferer@8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4> | 2010-11-29 10:02:31 +0000 |
commit | 50512519e5dea2405ceaead5ad111e3e827888b2 (patch) | |
tree | d6fae2aeee46547130a5c33b065d735d48413070 /smcc/src/main/java/at/gv/egiz/smcc/util/ISO7816Utils.java | |
parent | 41246b466f815e9617a40e2daba7cf4c1f327f97 (diff) | |
download | mocca-50512519e5dea2405ceaead5ad111e3e827888b2.tar.gz mocca-50512519e5dea2405ceaead5ad111e3e827888b2.tar.bz2 mocca-50512519e5dea2405ceaead5ad111e3e827888b2.zip |
Bugfix DNIE
FINEID Support
git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@848 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4
Diffstat (limited to 'smcc/src/main/java/at/gv/egiz/smcc/util/ISO7816Utils.java')
-rw-r--r-- | smcc/src/main/java/at/gv/egiz/smcc/util/ISO7816Utils.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/smcc/src/main/java/at/gv/egiz/smcc/util/ISO7816Utils.java b/smcc/src/main/java/at/gv/egiz/smcc/util/ISO7816Utils.java index f35086b6..44045d3c 100644 --- a/smcc/src/main/java/at/gv/egiz/smcc/util/ISO7816Utils.java +++ b/smcc/src/main/java/at/gv/egiz/smcc/util/ISO7816Utils.java @@ -65,6 +65,11 @@ public class ISO7816Utils { @Override protected byte[] readBinary(int offset, int len) throws IOException { + if(len < 1) { + // nothing to read - return + return new byte[0]; + } + ResponseAPDU resp; try { resp = channel.transmit(new CommandAPDU(0x00, 0xB0, @@ -76,7 +81,7 @@ public class ISO7816Utils { // handle case: wrong number of bytes requested from card // card indicates correct number of bytes available in SW2 if (resp.getSW1() == 0x6c) { - + try { resp = channel.transmit(new CommandAPDU(0x00, 0xB0, 0x7F & (offset >> 8), offset & 0xFF, resp @@ -106,7 +111,6 @@ public class ISO7816Utils { }; return file; - } private static byte[] readFromInputStream(TransparentFileInputStream is) throws CardException, SignatureCardException { |