Loading...
Searching...
No Matches
lime::X3DH_peerBundle< Curve > Struct Template Reference

Holds everything found in a key bundle received from X3DH server. More...

`#include <lime_x3dh_protocol.hpp>`

## Public Member Functions

| X3DH_peerBundle (std::string &&deviceId, std::vector< uint8_t >::const_iterator Ik, std::vector< uint8_t >::const_iterator SPk, uint32_t SPk_id, std::vector< uint8_t >::const_iterator SPk_sig, std::vector< uint8_t >::const_iterator OPk, uint32_t OPk_id)
| X3DH_peerBundle (std::string &&deviceId, std::vector< uint8_t >::const_iterator Ik, std::vector< uint8_t >::const_iterator SPk, uint32_t SPk_id, std::vector< uint8_t >::const_iterator SPk_sig)
| X3DH_peerBundle (std::string &&deviceId)

## Public Attributes

const std::string | deviceId
const DSA< Curve, lime::DSAtype::publicKey > | Ik
const X< Curve, lime::Xtype::publicKey > | SPk
const uint32_t | SPk_id
const DSA< Curve, lime::DSAtype::signature > | SPk_sig
const lime::X3DHKeyBundleFlag | bundleFlag
const X< Curve, lime::Xtype::publicKey > | OPk
const uint32_t | OPk_id

## Detailed Description

template<typename Curve>
struct lime::X3DH_peerBundle< Curve >

Holds everything found in a key bundle received from X3DH server.

Note
  Data members are set once by constructor and then the object is used to pass this data around, so they all are const

## Constructor & Destructor Documentation

## X3DH_peerBundle() [1/3]

template<typename Curve>

lime::X3DH_peerBundle< Curve >::X3DH_peerBundle | ( | std::string && | deviceId,
|  | std::vector< uint8_t >::const_iterator | Ik,
|  | std::vector< uint8_t >::const_iterator | SPk,
|  | uint32_t | SPk_id,
|  | std::vector< uint8_t >::const_iterator | SPk_sig,
|  | std::vector< uint8_t >::const_iterator | OPk,
|  | uint32_t | OPk_id )

inline

Constructor gets vector<uint8_t> iterators to all needed data and copy them into correct data types

Parameters

  [in] | deviceId | peer Device Id providing this key bundle
  [in] | Ik | peer public identity key (DSA format)
  [in] | SPk | peer public Signed-Pre-key (X format)
  [in] | SPk_id | id of the public Signed-Pre-key
  [in] | SPk_sig | Signature of the public Signed-Pre-key(signed with peer Identity key)
  [in] | OPk | One-time Pre-key (X format) - this parameter is optionnal
  [in] | OPk_id | id of the One-time Pre-key - this parameter is optionnal

## X3DH_peerBundle() [2/3]

template<typename Curve>

lime::X3DH_peerBundle< Curve >::X3DH_peerBundle | ( | std::string && | deviceId,
|  | std::vector< uint8_t >::const_iterator | Ik,
|  | std::vector< uint8_t >::const_iterator | SPk,
|  | uint32_t | SPk_id,
|  | std::vector< uint8_t >::const_iterator | SPk_sig )

inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. construct without OPk when not present in the parsed bundle

## X3DH_peerBundle() [3/3]

template<typename Curve>

lime::X3DH_peerBundle< Curve >::X3DH_peerBundle | ( | std::string && | deviceId | ) |

inline

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. construct without bundle when not present in the parsed server response

## Member Data Documentation

## bundleFlag

template<typename Curve>

const lime::X3DHKeyBundleFlag lime::X3DH_peerBundle< Curve >::bundleFlag

Flag this bundle as empty and if not if it holds an OPk, possible values

## deviceId

template<typename Curve>

const std::string lime::X3DH_peerBundle< Curve >::deviceId

peer device Id

## Ik

template<typename Curve>

const DSA<Curve, lime::DSAtype::publicKey> lime::X3DH_peerBundle< Curve >::Ik

peer device public identity key

## OPk

template<typename Curve>

const X<Curve, lime::Xtype::publicKey> lime::X3DH_peerBundle< Curve >::OPk

peer device One Time preKey

## OPk_id

template<typename Curve>

const uint32_t lime::X3DH_peerBundle< Curve >::OPk_id

id of the peer device current public pre-signed key

## SPk

template<typename Curve>

const X<Curve, lime::Xtype::publicKey> lime::X3DH_peerBundle< Curve >::SPk

peer device current public pre-signed key

## SPk_id

template<typename Curve>

const uint32_t lime::X3DH_peerBundle< Curve >::SPk_id

id of the peer device current public pre-signed key

## SPk_sig

template<typename Curve>

const DSA<Curve, lime::DSAtype::signature> lime::X3DH_peerBundle< Curve >::SPk_sig

signature of the peer device current public pre-signed key

The documentation for this struct was generated from the following file:

- /build/lime-OjNHTX/lime-5.3.105+dfsg/src/lime_x3dh_protocol.hpp