|
My Project 3.5.5
C++ Distributed Hash Table
|
#include <crypto.h>
Public Member Functions | |
| PrivateKey (gnutls_x509_privkey_t k) | |
| PrivateKey (PrivateKey &&o) noexcept | |
| PrivateKey & | operator= (PrivateKey &&o) noexcept |
| PrivateKey (const uint8_t *src, size_t src_size, const char *password=nullptr) | |
| PrivateKey (const Blob &src, const std::string &password={}) | |
| PrivateKey (std::string_view src, const std::string &password={}) | |
| operator bool () const | |
| const PublicKey & | getPublicKey () const |
| const std::shared_ptr< PublicKey > & | getSharedPublicKey () const |
| int | serialize (uint8_t *out, size_t *out_len, const std::string &password={}) const |
| Blob | serialize (const std::string &password={}) const |
| Blob | sign (const uint8_t *data, size_t data_len) const |
| Blob | sign (std::string_view dat) const |
| Blob | sign (const Blob &dat) const |
| Blob | decrypt (const uint8_t *cypher, size_t cypher_len) const |
| Blob | decrypt (const Blob &cypher) const |
Static Public Member Functions | |
| static PrivateKey | generate (unsigned key_length=4096, gnutls_pk_algorithm_t algo=GNUTLS_PK_RSA) |
| static PrivateKey | generateEC () |
Public Attributes | |
| gnutls_privkey_t | key {} |
| gnutls_x509_privkey_t | x509_key {} |
| dht::crypto::PrivateKey::PrivateKey | ( | gnutls_x509_privkey_t | k | ) |
Takes ownership of an existing gnutls_x509_privkey.
|
inline |
|
inline |
| Blob dht::crypto::PrivateKey::decrypt | ( | const uint8_t * | cypher, |
| size_t | cypher_len ) const |
Try to decrypt the provided cypher text. In case of failure a CryptoException is thrown.
|
static |
Generate a new RSA key pair
| key_length | : size of the modulus in bits Minimim value: 2048 Recommended values: 4096, 8192 |
| algo | : the public key algorithm to use, GNUTLS_PK_RSA or GNUTLS_PK_RSA_OAEP |
|
inlineexplicit |
| Blob dht::crypto::PrivateKey::sign | ( | const uint8_t * | data, |
| size_t | data_len ) const |
Sign the provided binary object.
|
inline |