ports/esp32/components/piv_ccid/include/piv_apdu.h
openaliro/openaliro
Module

piv_apdu.h

ports/esp32/components/piv_ccid/include/piv_apdu.h2 documented symbols

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