board_button_read() disables interrupts and cannot be parallelized when flash is being used. It is imperative that core1 must not use flash during the board_button_read(). Since it is not feasible to put mutexes in *every* flash memory read/write in core1, it is preferable to wait until core1 finishes command execution.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
AID comparison is performed by the kernel. If it is the same as previously loaded, do nothing. If not found, do nothing. If found and is different, unload old and load the new one.
All other applets shall be migrated to new format.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This interface enables a HID Keyboard interface to send keystrokes to host. Also, it enables bidirectional flow through set/get report with 8-bytes chunked frames of 70 bytes.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
It works in combination with virtualsmarcard module (vpcd). It properly installed, it creates a virtual reader that can be interfaced via PCSC+vcpd. At user app level, it has no difference of having a physical smart card.
At this moment, it only works emulating a CCID interface.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
In order to add FIDO2 support, we need to reorganize some USB/CCID calls to specific area (named driver).
Thus, pico-hsm-sdk has two drivers:
- CCID driver implements APDU over USB/CCID ISO-7816 standard procedures.
- HID driver implements APDU over HID.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>