lime
Lime is a C++ library implementing Open Whisper System Signal protocol
|
Holds everything found in a key bundle received from X3DH server. More...
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 |
Holds everything found in a key bundle received from X3DH server.
|
inline |
Constructor gets vector<uint8_t> iterators to all needed data and copy them into correct data types
[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 |
|
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
|
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
const lime::X3DHKeyBundleFlag lime::X3DH_peerBundle< Curve >::bundleFlag |
Flag this bundle as empty and if not if it holds an OPk, possible values
const std::string lime::X3DH_peerBundle< Curve >::deviceId |
peer device Id
const DSA<Curve, lime::DSAtype::publicKey> lime::X3DH_peerBundle< Curve >::Ik |
peer device public identity key
const X<Curve, lime::Xtype::publicKey> lime::X3DH_peerBundle< Curve >::OPk |
peer device One Time preKey
const uint32_t lime::X3DH_peerBundle< Curve >::OPk_id |
id of the peer device current public pre-signed key
const X<Curve, lime::Xtype::publicKey> lime::X3DH_peerBundle< Curve >::SPk |
peer device current public pre-signed key
const uint32_t lime::X3DH_peerBundle< Curve >::SPk_id |
id of the peer device current public pre-signed key
const DSA<Curve, lime::DSAtype::signature> lime::X3DH_peerBundle< Curve >::SPk_sig |
signature of the peer device current public pre-signed key