#include <crypto.h>
|
| | 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 PrivateKey | generate (unsigned key_length=4096, gnutls_pk_algorithm_t algo=GNUTLS_PK_RSA) |
|
static PrivateKey | generateEC () |
|
| gnutls_privkey_t | key {} |
| gnutls_x509_privkey_t | x509_key {} |
A private key, including the corresponding public key.
Definition at line 160 of file crypto.h.
◆ PrivateKey() [1/3]
| dht::crypto::PrivateKey::PrivateKey |
( |
gnutls_x509_privkey_t | k | ) |
|
Takes ownership of an existing gnutls_x509_privkey.
◆ PrivateKey() [2/3]
| dht::crypto::PrivateKey::PrivateKey |
( |
const Blob & | src, |
|
|
const std::string & | password = {} ) |
|
inline |
◆ PrivateKey() [3/3]
| dht::crypto::PrivateKey::PrivateKey |
( |
std::string_view | src, |
|
|
const std::string & | password = {} ) |
|
inline |
◆ decrypt() [1/2]
| Blob dht::crypto::PrivateKey::decrypt |
( |
const Blob & | cypher | ) |
const |
|
inline |
◆ decrypt() [2/2]
| 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.
- Returns
- the decrypted data.
◆ generate()
| PrivateKey dht::crypto::PrivateKey::generate |
( |
unsigned | key_length = 4096, |
|
|
gnutls_pk_algorithm_t | algo = GNUTLS_PK_RSA ) |
|
static |
Generate a new RSA key pair
- Parameters
-
| 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 |
◆ operator bool()
| dht::crypto::PrivateKey::operator bool |
( |
| ) |
const |
|
inlineexplicit |
◆ sign() [1/3]
| Blob dht::crypto::PrivateKey::sign |
( |
const Blob & | dat | ) |
const |
|
inline |
◆ sign() [2/3]
| Blob dht::crypto::PrivateKey::sign |
( |
const uint8_t * | data, |
|
|
size_t | data_len ) const |
Sign the provided binary object.
- Returns
- the signature data.
◆ sign() [3/3]
| Blob dht::crypto::PrivateKey::sign |
( |
std::string_view | dat | ) |
const |
|
inline |
◆ key
| gnutls_privkey_t dht::crypto::PrivateKey::key {} |
◆ x509_key
| gnutls_x509_privkey_t dht::crypto::PrivateKey::x509_key {} |
The documentation for this struct was generated from the following file:
- /home/noptrix/ba/blackarch/packages/opendht-c/src/opendht/include/opendht/crypto.h