eclipse-keyple / keyple-plugin-java-api

Eclipse Keyple™ Project - Java implementation: API for plugin developers
https://keyple.org/
Eclipse Public License 2.0
3 stars 4 forks source link

enable APDU command **group** transmission through a local reader #14

Open pterr opened 2 months ago

pterr commented 2 months ago

Currently, the org.eclipse.keyple.core.plugin.spi.reader.ReaderSpi interface allows APDU commands to be transmitted uniquely one-by-one to a local reader. For a reader solution based on a communication interface with high latency (e.g. Bluetooth), this limitation could have a significant impact on transaction performance.

enable transmission of APDU commands group in this case, it might be necessary to add a bit of intelligence to the plugin's processing: for example, in the case of an unexpected status on an APDU response, interrupt transmission of the remaining APDU commands

amessara-billettiqueservices commented 2 months ago

Hello pierre,

I have given more thought to this point and I think that the way these unexpected statuses are implemented currently is actually a bug. As it introduces APDUs that are not accounted for in the secure session and breaks the digest. Here is an example https://github.com/eclipse-keyple/keyple-card-calypso-java-lib/issues/101

This should probably be reimplemented in order to keep the session integrity and be done in a way that will let us also implement the grouped commands on local readers.

Regards Aghilas MESARA