Direct-BT v3.3.0-1-gc2d430c
Direct-BT - Direct Bluetooth Programming.
|
Vol 3, Part H: 3.6.6 Signing Information message. More...
#include <SMPTypes.hpp>
Public Member Functions | |
SMPSignInfoMsg (const jau::uint128dp_t &signature_key) | |
SMPSignInfoMsg (const uint8_t *source, const jau::nsize_t length) | |
constexpr jau::uint128dp_t | getCSRK () const noexcept |
Returns the 128-bit Connection Signature Resolving Key (CSRK, 16 octets) More... | |
constexpr_cxx20 jau::nsize_t | getDataSize () const noexcept override |
Returns the required data size according to the specified packet, which should be within 0-22 or 64 octets. More... | |
std::string | getName () const noexcept override |
Public Member Functions inherited from direct_bt::SMPEncKeyByteStream | |
SMPEncKeyByteStream (const Opcode opc, const jau::nsize_t size) | |
Persistent memory, w/ ownership . More... | |
SMPEncKeyByteStream (const uint8_t *source, const jau::nsize_t size) | |
Persistent memory, w/ ownership . More... | |
~SMPEncKeyByteStream () noexcept override=default | |
Public Member Functions inherited from direct_bt::SMPPDUMsg | |
SMPPDUMsg (const Opcode opc, const jau::nsize_t size) | |
Persistent memory, w/ ownership . More... | |
SMPPDUMsg (const uint8_t *source, const jau::nsize_t size) | |
Persistent memory, w/ ownership . More... | |
SMPPDUMsg (const uint8_t *source, const jau::nsize_t size, const jau::nsize_t min_size) | |
Persistent memory, w/ ownership . More... | |
virtual | ~SMPPDUMsg () noexcept=default |
constexpr jau::nsize_t | getDataOffset () const noexcept |
Returns the octet offset to the data segment in this PDU including the mandatory opcode, i.e. More... | |
virtual constexpr_cxx20 jau::nsize_t | getDataSize () const noexcept |
Returns the required data size according to the specified packet, which should be within 0-22 or 64 octets. More... | |
virtual std::string | getName () const noexcept |
constexpr Opcode | getOpcode () const noexcept |
SMP Command Codes Vol 3, Part H (SM): 3.3. More... | |
constexpr jau::nsize_t | getPDUParamSize () const noexcept |
Returns the actual PDU size less one octet for the opcode, which should result in 0-22 octets or 64 octets. More... | |
constexpr uint64_t | getTimestamp () const noexcept |
virtual std::string | toString () const noexcept |
Protected Member Functions | |
std::string | valueString () const noexcept override |
Protected Member Functions inherited from direct_bt::SMPPDUMsg | |
virtual std::string | baseString () const noexcept |
void | check_range () |
void | checkOpcode (const Opcode exp1, const Opcode exp2) const |
void | checkOpcode (const Opcode expected) const |
virtual std::string | valueString () const noexcept |
Additional Inherited Members | |
Public Types inherited from direct_bt::SMPPDUMsg | |
enum class | Opcode : uint8_t { UNDEFINED = 0x00 , PAIRING_REQUEST = 0x01 , PAIRING_RESPONSE = 0x02 , PAIRING_CONFIRM = 0x03 , PAIRING_RANDOM = 0x04 , PAIRING_FAILED = 0x05 , ENCRYPTION_INFORMATION = 0x06 , MASTER_IDENTIFICATION = 0x07 , IDENTITY_INFORMATION = 0x08 , IDENTITY_ADDRESS_INFORMATION = 0x09 , SIGNING_INFORMATION = 0x0A , SECURITY_REQUEST = 0x0B , PAIRING_PUBLIC_KEY = 0x0C , PAIRING_DHKEY_CHECK = 0x0D , PAIRING_KEYPRESS_NOTIFICATION = 0x0E } |
SMP Command Codes Vol 3, Part H (SM): 3.3. More... | |
Static Public Member Functions inherited from direct_bt::SMPPDUMsg | |
template<class T > | |
static T * | clone (const T &source) noexcept |
Clone template for convenience, based on derived class's copy-constructor. More... | |
static std::string | getOpcodeString (const Opcode opc) noexcept |
static std::unique_ptr< const SMPPDUMsg > | getSpecialized (const uint8_t *buffer, jau::nsize_t const buffer_size) noexcept |
Return a newly created specialized instance pointer to base class. More... | |
static constexpr uint8_t | number (const Opcode rhs) noexcept |
Protected Attributes inherited from direct_bt::SMPPDUMsg | |
jau::POctets | pdu |
actual received PDU More... | |
uint64_t | ts_creation |
creation timestamp in milliseconds More... | |
Vol 3, Part H: 3.6.6 Signing Information message.
Vol 3 (Host), Part H (SM): 3 (SMP), 3.6 SECURITY IN BLUETOOTH LOW ENERGY Vol 3 (Host), Part H (SM): 3 (SMP), 3.6.1 Key distribution and generation Vol 3 (Host), Part H (SM): 2 (SM), 2.4.1 Definition of keys and values Vol 3 (Host), Part H (SM): 2 (SM), 2.4.2.2 Generation of CSRK
[uint8_t opcode] jau::uint128_t signature_key
Message is used in the Transport Specific Key Distribution to distribute the Connection Signature Resolving Key (CSRK), which a device uses to sign data (ATT Signed Write).
The message shall only be sent when the link has been encrypted or re-encrypted using the generated key.
Legacy: #5 in distribution, last value.
Secure Connection: #3 in distribution, last value.
Notable: No endian wise conversion shall occur on this data, since the encryption values are interpreted as little-endian or as a byte stream.
Definition at line 1969 of file SMPTypes.hpp.
|
inline |
Definition at line 1972 of file SMPTypes.hpp.
|
inline |
Definition at line 1979 of file SMPTypes.hpp.
|
inlineoverridevirtualnoexcept |
Returns the required data size according to the specified packet, which should be within 0-22 or 64 octets.
Reimplemented from direct_bt::SMPPDUMsg.
Definition at line 1986 of file SMPTypes.hpp.
|
inlineconstexprnoexcept |
Returns the 128-bit Connection Signature Resolving Key (CSRK, 16 octets)
The 128-bit CSRK value being distributed, see Vol 3, Part H, 2.4.2.2 SM - Definition of keys and values - Generation of CSRK.
Definition at line 1997 of file SMPTypes.hpp.
|
inlineoverridevirtualnoexcept |
Reimplemented from direct_bt::SMPPDUMsg.
Definition at line 1999 of file SMPTypes.hpp.
|
inlineoverrideprotectedvirtualnoexcept |
Reimplemented from direct_bt::SMPPDUMsg.
Definition at line 2004 of file SMPTypes.hpp.