C++ Distributed Hash Table
Public Member Functions | Public Attributes | List of all members
dht::crypto::PublicKey Struct Reference

#include <crypto.h>

Public Member Functions

 PublicKey (gnutls_pubkey_t k)
 
 PublicKey (const uint8_t *dat, size_t dat_size)
 
 PublicKey (const Blob &pk)
 
 PublicKey (PublicKey &&o) noexcept
 
 operator bool () const
 
bool operator== (const PublicKey &o) const
 
bool operator!= (const PublicKey &o) const
 
PublicKeyoperator= (PublicKey &&o) noexcept
 
InfoHash getId () const
 
PkId getLongId () const
 
bool checkSignature (const uint8_t *data, size_t data_len, const uint8_t *signature, size_t signature_len) const
 
bool checkSignature (const Blob &data, const Blob &signature) const
 
Blob encrypt (const uint8_t *data, size_t data_len) const
 
Blob encrypt (const Blob &data) const
 
void pack (Blob &b) const
 
int pack (uint8_t *out, size_t *out_len) const
 
void unpack (const uint8_t *dat, size_t dat_size)
 
std::string toString () const
 
template<typename Packer >
void msgpack_pack (Packer &p) const
 
void msgpack_unpack (const msgpack::object &o)
 
gnutls_digest_algorithm_t getPreferredDigest () const
 

Public Attributes

gnutls_pubkey_t pk {nullptr}
 

Detailed Description

A public key.

Definition at line 75 of file crypto.h.

Constructor & Destructor Documentation

◆ PublicKey() [1/2]

dht::crypto::PublicKey::PublicKey ( gnutls_pubkey_t  k)
inline

Takes ownership of an existing gnutls_pubkey.

Definition at line 82 of file crypto.h.

◆ PublicKey() [2/2]

dht::crypto::PublicKey::PublicKey ( const uint8_t *  dat,
size_t  dat_size 
)

Import public key from serialized data

Member Function Documentation

◆ getId()

InfoHash dht::crypto::PublicKey::getId ( ) const

Get public key fingerprint

◆ getLongId()

PkId dht::crypto::PublicKey::getLongId ( ) const

Get public key long fingerprint


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