07-03-2013 05:49 AM
i am using the NFC API on a BlackBerry Z10 for ISO7816 APDU communication with the SIM.
The APDU communication itself is working in principle, but when i send an APDU,
which triggers a time-consuming cryptographic computation inside the SIM, after 5000 milliseconds i get the returncode NFC_RESULT_ERROR when calling the method "nfc_se_channel_transmit_apdu" .
Is there a way to "increase" this timeout, which allow me to successfully perform APDUs which take longer than 5000 milliseconds to return their APDU-Response ?
07-03-2013 03:58 PM
During the operation, are you sending back indications that the applet is still working?
If you aren't you need to send back NULL procedure bytes as a heartbeat to indicate that the SIM is performing a long operation.
Reference ETSI 102-221.
Section 14.6.7 Additional processing time
Section 126.96.36.199.1 (NULL BYTE)
Links for the references; You'll need an ETSI account to access - but it is free...
07-04-2013 08:07 AM
Thank you for your detailled anwer.
Meanwhile i checked the communication protocol and i can see, that the Null-Byte requesting additional working time is sent back regulary and within the allowed time-frame.
Even, if the APDU communication on protocol level is successful (but takes longer than 5000 milliseconds), the "nfc_se_channel_transmit_apdu" returns NFC_RESULT_ERROR after 5000 milliseconds.