Direct-BT v3.3.0-1-gc2d430c
Direct-BT - Direct Bluetooth Programming.
|
Vol 3, Part H: 3.5.6 Pairing Public Key message. More...
#include <SMPTypes.hpp>
Public Member Functions | |
SMPPairPubKeyMsg (const jau::uint256dp_t &pub_key_x, const jau::uint256dp_t &pub_key_y) | |
SMPPairPubKeyMsg (const uint8_t *source, const jau::nsize_t length) | |
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 |
constexpr jau::uint256dp_t | getPubKeyX () const noexcept |
Returns the 256-bit Public Key X value (32 octets) More... | |
constexpr jau::uint256dp_t | getPubKeyY () const noexcept |
Returns the 256-bit Public Key Y value (32 octets) More... | |
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.5.6 Pairing Public Key message.
Vol 3 (Host), Part H (SM): 3 (SMP), 3.5.6 Pairing Public Key
[uint8_t opcode] jau::uint256_t public_key_x_value jau::uint256_t public_key_y_value
Message is used to transfer the device’s local public key (X and Y coordinates) to the remote device.
This message is used by both the initiator and responder.
This PDU is only used for LE Secure Connections.
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 1483 of file SMPTypes.hpp.
|
inline |
Definition at line 1486 of file SMPTypes.hpp.
|
inline |
Definition at line 1493 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 1501 of file SMPTypes.hpp.
|
inlineconstexprnoexcept |
Returns the 256-bit Public Key X value (32 octets)
Definition at line 1508 of file SMPTypes.hpp.
|
inlineconstexprnoexcept |
Returns the 256-bit Public Key Y value (32 octets)
Definition at line 1513 of file SMPTypes.hpp.
|
inlineoverridevirtualnoexcept |
Reimplemented from direct_bt::SMPPDUMsg.
Definition at line 1515 of file SMPTypes.hpp.
|
inlineoverrideprotectedvirtualnoexcept |
Reimplemented from direct_bt::SMPPDUMsg.
Definition at line 1520 of file SMPTypes.hpp.