lime
Lime is a C++ library implementing Open Whisper System Signal protocol
Public Types | Public Member Functions | Static Public Member Functions | List of all members
lime::ARsKey< Curve, false > Struct Template Reference

Public Types

using serializedBuffer = sBuffer< X< Curve, lime::Xtype::publicKey >::ssize()+X< Curve, lime::Xtype::privateKey >::ssize()>
 
using serializedPublicBuffer = std::array< uint8_t, X< Curve, lime::Xtype::publicKey >::ssize()>
 

Public Member Functions

 ARsKey (const SignedPreKey< Curve > &SPk)
 
 ARsKey (const X< Curve, lime::Xtype::publicKey > &DHsPublic, const X< Curve, lime::Xtype::privateKey > &DHsPrivate)
 
 ARsKey ()
 
 ARsKey (const serializedBuffer &DHs)
 
X< Curve, lime::Xtype::privateKey > & privateKey (void)
 
X< Curve, lime::Xtype::publicKey > & publicKey (void)
 
serializedBuffer serialize (void) const
 Serialize the key pair (to store in DB): First the public value, then the private one. More...
 
std::vector< uint8_t > serializePublic (void) const
 Serialize the public part only to insert in the DR message header. More...
 

Static Public Member Functions

static constexpr size_t serializedSize (void)
 
static constexpr size_t serializedPublicSize (void)
 

Member Typedef Documentation

template<typename Curve >
using lime::ARsKey< Curve, false >::serializedBuffer = sBuffer<X<Curve, lime::Xtype::publicKey>::ssize() + X<Curve, lime::Xtype::privateKey>::ssize()>
template<typename Curve >
using lime::ARsKey< Curve, false >::serializedPublicBuffer = std::array<uint8_t, X<Curve, lime::Xtype::publicKey>::ssize()>

Constructor & Destructor Documentation

template<typename Curve >
lime::ARsKey< Curve, false >::ARsKey ( const SignedPreKey< Curve > &  SPk)
inline
template<typename Curve >
lime::ARsKey< Curve, false >::ARsKey ( const X< Curve, lime::Xtype::publicKey > &  DHsPublic,
const X< Curve, lime::Xtype::privateKey > &  DHsPrivate 
)
inline
template<typename Curve >
lime::ARsKey< Curve, false >::ARsKey ( )
inline
template<typename Curve >
lime::ARsKey< Curve, false >::ARsKey ( const serializedBuffer DHs)
inline

Member Function Documentation

template<typename Curve >
X<Curve, lime::Xtype::privateKey>& lime::ARsKey< Curve, false >::privateKey ( void  )
inline
template<typename Curve >
X<Curve, lime::Xtype::publicKey>& lime::ARsKey< Curve, false >::publicKey ( void  )
inline
template<typename Curve >
serializedBuffer lime::ARsKey< Curve, false >::serialize ( void  ) const
inline

Serialize the key pair (to store in DB): First the public value, then the private one.

template<typename Curve >
static constexpr size_t lime::ARsKey< Curve, false >::serializedPublicSize ( void  )
inlinestatic
template<typename Curve >
static constexpr size_t lime::ARsKey< Curve, false >::serializedSize ( void  )
inlinestatic
template<typename Curve >
std::vector<uint8_t> lime::ARsKey< Curve, false >::serializePublic ( void  ) const
inline

Serialize the public part only to insert in the DR message header.


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