|
| | Device (TransportT &transport) noexcept |
| |
| bool | EnsureInitialized () noexcept |
| |
| Error | TransceiveRaw (const std::uint8_t *tx, std::size_t tx_len, std::uint8_t *rx, std::size_t rx_cap, std::size_t *rx_len_out, std::uint32_t timeout_ms) noexcept |
| | Raw I²C exchange (legacy / bring-up); prefer T1 for SE050 T=1 blocks.
|
| |
| Error | HardwareReset () noexcept |
| |
| T1Session< TransportT > & | T1 () noexcept |
| | ISO 7816-3 T=1 session bound to the same transport as SessionRef.
|
| |
| const T1Session< TransportT > & | T1 () const noexcept |
| |
| scp03::Session< TransportT > & | Scp03 () noexcept |
| | SCP03 session. Handshake uses T=1 directly; wrapped APDUs go through TransmitApdu.
|
| |
| const scp03::Session< TransportT > & | Scp03 () const noexcept |
| |
| void | BindScp03WrapScratch (std::uint8_t *buf, std::size_t cap) noexcept |
| | Bind caller-owned wrap workspace (CM4: D2 .se_apdu_scratch, not a task stack).
|
| |
| Error | TransmitApdu (const std::uint8_t *capdu, std::size_t capdu_len, std::uint8_t *rapdu_buf, std::size_t rapdu_cap, std::size_t *rapdu_len, std::uint32_t timeout_ms) noexcept |
| | Transmit a C-APDU (already serialized) and receive the R-APDU INF bytes.
|
| |
| Error | SelectDefaultIoTApplet (std::uint8_t *rapdu_buf, std::size_t rapdu_cap, std::size_t *rapdu_len, std::uint32_t timeout_ms) noexcept |
| | SELECT the default IoT applet (applet::kDefaultIoTAppletAid, short Le).
|
| |
| Error | SelectCardManager (std::uint8_t *rapdu_buf, std::size_t rapdu_cap, std::size_t *rapdu_len, std::uint32_t timeout_ms) noexcept |
| | SELECT the GlobalPlatform Card Manager (ISD) for PUT KEY.
|
| |
| Error | GetVersion (cmd::VersionInfo *out, std::uint32_t timeout_ms) noexcept |
| |
| Error | GetRandom (std::uint16_t bytes_requested, std::uint8_t *out, std::size_t out_cap, std::size_t *out_len, std::uint32_t timeout_ms) noexcept |
| |
| Error | GetFreeMemory (cmd::MemoryType memory_type, std::uint16_t *free_bytes, std::uint32_t timeout_ms) noexcept |
| |
| Error | WriteBinary (const cmd::ObjectId &object_id, const std::uint8_t *data, std::size_t data_len, bool has_offset, std::uint16_t offset, bool has_file_length, std::uint16_t file_length, std::uint32_t timeout_ms) noexcept |
| |
| Error | ReadObject (const cmd::ObjectId &object_id, bool has_offset, std::uint16_t offset, bool has_length, std::uint16_t length, std::uint8_t *out, std::size_t out_cap, std::size_t *out_len, std::uint32_t timeout_ms) noexcept |
| |
| Error | DeleteSecureObject (const cmd::ObjectId &object_id, std::uint32_t timeout_ms) noexcept |
| |
| Error | CheckObjectExists (const cmd::ObjectId &object_id, bool *exists, std::uint32_t timeout_ms) noexcept |
| |
| Error | ReadPublicEcKey (const cmd::ObjectId &key_id, std::uint8_t *out, std::size_t out_cap, std::size_t *out_len, std::uint32_t timeout_ms) noexcept |
| |
| Error | GenerateEcKeyPair (const cmd::ObjectId &object_id, cmd::EcCurve curve, std::uint32_t timeout_ms) noexcept |
| |
| Error | EcdsaSign (const cmd::ObjectId &key_id, cmd::EcdsaAlgo algo, const std::uint8_t *digest, std::size_t digest_len, std::uint8_t *signature_out, std::size_t signature_cap, std::size_t *signature_len, std::uint32_t timeout_ms) noexcept |
| |
| Error | EcdsaVerify (const cmd::ObjectId &key_id, cmd::EcdsaAlgo algo, const std::uint8_t *digest, std::size_t digest_len, const std::uint8_t *signature, std::size_t signature_len, bool *verified, std::uint32_t timeout_ms) noexcept |
| |
| Error | WriteAesKey (const cmd::ObjectId &object_id, const std::uint8_t *key, std::size_t key_len, std::uint32_t timeout_ms) noexcept |
| | Write a persistent AESKey (AN12413 WriteSymmKey, P1_AES).
|
| |
| Error | CipherAesEcb (const cmd::ObjectId &key_id, bool decrypt, const std::uint8_t *in, std::size_t in_len, std::uint8_t *out, std::size_t out_cap, std::size_t *out_len, std::uint32_t timeout_ms) noexcept |
| | One-shot AES-ECB (AN12413 CipherOneShot, AES_ECB_NOPAD).
|
| |
| Error | UnwrapAes256Rfc3394 (const cmd::ObjectId &kek_id, const std::uint8_t *wrapped, std::size_t wrapped_len, std::uint8_t *out, std::size_t out_cap, std::size_t *out_len, std::uint32_t timeout_ms) noexcept |
| | RFC 3394 unwrap of an AES-256 CEK using kek_id as the wrapping key.
|
| |
| Session< TransportT > & | SessionRef () noexcept |
| |
| const Session< TransportT > & | SessionRef () const noexcept |
| |