diff --git a/hwb1/src/hwb1/MyApplet.java b/hwb1/src/hwb1/MyApplet.java index cdcc8de..53d276e 100644 --- a/hwb1/src/hwb1/MyApplet.java +++ b/hwb1/src/hwb1/MyApplet.java @@ -14,6 +14,7 @@ import javacard.framework.*; */ public class MyApplet extends Applet { final static short SW_PIN_VERIFICATION_REQUIRED = 0x6301; + final static short SW_VERIFICATION_FAILED = 0x6300; final static byte PIN_TRY_LIMIT =(byte)0x03; final static byte MAX_PIN_SIZE =(byte)0x08; private byte[] authorName = new byte[] { 'M', 'a', 'n', 'u', 'e', 'l' }; @@ -127,7 +128,10 @@ public class MyApplet extends Applet { break; case 0x20: length = apdu.setIncomingAndReceive(); - pin.check(buffer, (short) ISO7816.OFFSET_CDATA, (byte)length); + + if (!pin.check(buffer, (short) ISO7816.OFFSET_CDATA, (byte)length)) { + ISOException.throwIt(SW_VERIFICATION_FAILED); + } break; default: ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);