Embedded Section Index | Page 6
Can I change the value of the Global PIN?
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
Can I get the Global PIN status (verified, not verified, blocked)?
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.
Can I still return data if the status word is not 0x9000?
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
Can I unblock the Global PIN without changing it?
No, the only available method is OPSystem.setPin() which changes the value of the Global PIN and unblocks it.
How do I change/unblock the Global PIN?
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.
How do I decrypt/verify incoming data on a Secure Channel?
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
How do I open/close a Secure Channel
To implement the INITIALIZE UPDATE and EXTERNAL AUTHENTICATE commands, you respectively have to use:
ProviderSecurityDomain.openSecureChannel()
ProviderSecurityDomain.verifyExternalAuthenticate()...more
How does a card talk to the outside world?
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
Is RMI available?
Not yet. Right now, you have to use ISO7816-style communication. However, a subset of Java RMI is strongly considered for Java Card 2.2.
Is the status of the Global PIN local or global?
The status of the Global PIN is local to each applet. However, the Global PIN value and try counter are shared by all applets.
What is a status word?
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
What is an APDU?
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
What is the Global PIN?
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.
Why cant I just call throw to return the status word?
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
How can I use my own class loader to load classes into my J2ME device?
How can I use my own class loader to load classes
into my J2ME device?