From 50512519e5dea2405ceaead5ad111e3e827888b2 Mon Sep 17 00:00:00 2001 From: tzefferer Date: Mon, 29 Nov 2010 10:02:31 +0000 Subject: Bugfix DNIE FINEID Support git-svn-id: https://joinup.ec.europa.eu/svn/mocca/trunk@848 8a26b1a7-26f0-462f-b9ef-d0e30c41f5a4 --- smcc/src/main/java/at/gv/egiz/smcc/util/ISO7816Utils.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'smcc/src/main/java/at/gv/egiz/smcc/util/ISO7816Utils.java') 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 { -- cgit v1.2.3