ports/esp32/components/piv_ccid/include/piv_apdu.h
openaliro/openaliro
Module
piv_apdu.h
used by piv_ccid.h piv_identity.h piv_apdu.c piv_ccid.c
API
Cstruct piv_apdu_backend
ports/esp32/components/piv_ccid/include/piv_apdu.h:32
Platform operations for the persistent PIV identity. PIN callbacks return 0 on success, 1 on a wrong PIN, -2 when the PIN is blocked or has not been provisioned, and -1 on an internal failure. The retry count is returned for ISO 7816 status 63Cx. get_certificate selects slot 9A or 9D using key_ref. sign_hash receives the off-card SHA-256 digest required by PIV GENERAL AUTHENTICATE. derive_shared performs the P-256 ECDH primitive for slot 9D.
Cstruct piv_apdu
ports/esp32/components/piv_ccid/include/piv_apdu.h:57
PIV APDU command handler state: tracks APDU selection, PIN verification status, and buffered response for chunked transmission.
##define PIV_APDU_MAX_RESPONSE 1024u
ports/esp32/components/piv_ccid/include/piv_apdu.h:12
##define PIV_PIN_BYTES 8u
ports/esp32/components/piv_ccid/include/piv_apdu.h:13
##define PIV_P256_HASH_BYTES 32u
ports/esp32/components/piv_ccid/include/piv_apdu.h:14
##define PIV_P256_POINT_BYTES 65u
ports/esp32/components/piv_ccid/include/piv_apdu.h:15
##define PIV_P256_SHARED_SECRET_BYTES 32u
ports/esp32/components/piv_ccid/include/piv_apdu.h:16
##define PIV_P256_RAW_SIGNATURE_BYTES 64u
ports/esp32/components/piv_ccid/include/piv_apdu.h:17
##define PIV_KEY_REF_AUTH 0x9au
ports/esp32/components/piv_ccid/include/piv_apdu.h:18
##define PIV_KEY_REF_KEY_MANAGEMENT 0x9du
ports/esp32/components/piv_ccid/include/piv_apdu.h:19
Fvoid piv_apdu_init(struct piv_apdu *piv, const struct piv_apdu_backend *backend, void *backend_ctx, bool pin_required)
ports/esp32/components/piv_ccid/include/piv_apdu.h:68
Fvoid piv_apdu_reset(struct piv_apdu *piv)
ports/esp32/components/piv_ccid/include/piv_apdu.h:71
Fint piv_apdu_transmit(struct piv_apdu *piv, const uint8_t *command, size_t command_len, uint8_t *response, size_t response_cap, size_t *response_len)
ports/esp32/components/piv_ccid/include/piv_apdu.h:74