Embedded Section Index | Page 5
Yes. Data is only transmitted at the end of the process() function, so as long as you call apdu.setOutgoing() before throwing the ISOException, theres no problem. more
In standard Java, youd do something like throw new MyException(). The problem is that Java Card doesnt support garbage collection. Hence, its highly undesirable to create many sh...more
The status word is a 2-byte value, returned to the reader after an application has processed an APDU. Data is optional in a response APDU, but the status word is mandatory. If the process() functi...more
The APDU (Application Protocol Data Unit) is the communication unit between a reader and a card. The structure of an APDU is defined by the ISO 7816 standards. There are two categories of APDUs: c...more
A card needs to be inserted in a card reader (also called card acceptance device, or CAD). If the card is a contact less card, it just needs to be close enough from the reader for a fixed period o...more
You just have to pass the incoming APDU to ProviderSecurityDomain.unwrap(). If the call returns, this means that the APDU has been successfully decrypted/verified. If not, the Card Manager throws ...more
To implement the INITIALIZE UPDATE and EXTERNAL AUTHENTICATE commands, you respectively have to use: ProviderSecurityDomain.openSecureChannel() ProviderSecurityDomain.verifyExternalAuthenticate()...more
No, the only available method is OPSystem.setPin() which changes the value of the Global PIN and unblocks it.
The status of the Global PIN is local to each applet. However, the Global PIN value and try counter are shared by all applets.
No. There is no method equivalent to PIN.isValidated() in the OP API. The applet needs to save the GP status locally. Using transient data to do so is a good idea.
An applet may only change the value of the Global PIN if it was granted the PIN CHANGE privilege : applet privilege is specified at installation time: its sent as a byte in the INSTALL comma...more
There is no APDU command to change/unblock the Global PIN in the Global Platform specification. However, the Visa Card Implementation Requirements define a command to do so.
The Global PIN is a PIN that may be checked by all applets on a card, using OPSystem.verifyPin(). Its value is usually set at personalization time.
Opening a Secure Channel is performed using a sequence of two APDU commands: INITIALIZE UPDATE and EXTERNAL AUTHENTICATE. These commands are defined by the Open Platform specs.
Secure Messaging is maybe the most widely used feature in Open Platform. It enables a reader to open a secure communication link with an applet, using one of the key sets of the applet. This link ...more