|
| | Session () noexcept=default |
| |
| | ~Session () |
| | Wipes the session keys (see Close).
|
| |
| | Session (const Session &)=delete |
| | session keys are never copied
|
| |
| Session & | operator= (const Session &)=delete |
| | session keys are never copied
|
| |
| Error | OpenSecureChannel (T1Session< TransportT > &t1, const StaticKeys &keys, std::uint32_t timeout_ms) noexcept |
| | INITIALIZE UPDATE / EXTERNAL AUTHENTICATE.
|
| |
| Error | Close () noexcept |
| | Close the channel: wipe session keys, MAC chaining value and counter.
|
| |
| bool | IsOpen () const noexcept |
| |
| bool | Failed () const noexcept |
| | true after the channel was lost (a response failed its R-MAC, or the exchange broke inside the channel). The device refuses commands with Error::Authentication until Close or a new OpenSecureChannel, so it never falls back to plaintext silently.
|
| |
| void | Abort () noexcept |
| | Mark the channel lost and wipe its keys (used by the device on a broken exchange).
|
| |
| Error | WrapCommand (const std::uint8_t *capdu, std::size_t capdu_len, std::uint8_t *out, std::size_t out_cap, std::size_t *out_len) noexcept |
| |
| Error | UnwrapResponse (const std::uint8_t *rapdu, std::size_t rapdu_len, std::uint8_t *out, std::size_t out_cap, std::size_t *out_len) noexcept |
| |
| ChannelState & | State () noexcept |
| |
| const ChannelState & | State () const noexcept |
| |
template<typename TransportT>
class se050::scp03::Session< TransportT >
SCP03 session bound to a T=1 transport.
- Template Parameters
-
| TransportT | CRTP I²C transport type used by T1Session. |