Botan
2.17.3
Crypto and TLS for C++11
|
#include <pubkey.h>
Public Member Functions | |
PK_Signer & | operator= (const PK_Signer &)=delete |
PK_Signer (const Private_Key &key, RandomNumberGenerator &rng, const std::string &emsa, Signature_Format format=IEEE_1363, const std::string &provider="") | |
PK_Signer (const PK_Signer &)=delete | |
void | set_output_format (Signature_Format format) |
std::vector< uint8_t > | sign_message (const uint8_t in[], size_t length, RandomNumberGenerator &rng) |
template<typename Alloc > | |
std::vector< uint8_t > | sign_message (const std::vector< uint8_t, Alloc > &in, RandomNumberGenerator &rng) |
std::vector< uint8_t > | signature (RandomNumberGenerator &rng) |
size_t | signature_length () const |
void | update (uint8_t in) |
void | update (const uint8_t in[], size_t length) |
template<typename Alloc > | |
void | update (const std::vector< uint8_t, Alloc > &in) |
void | update (const std::string &in) |
~PK_Signer () | |
Public Key Signer. Use the sign_message() functions for small messages. Use multiple calls update() to process large messages and generate the signature by finally calling signature().
Botan::PK_Signer::PK_Signer | ( | const Private_Key & | key, |
RandomNumberGenerator & | rng, | ||
const std::string & | emsa, | ||
Signature_Format | format = IEEE_1363 , |
||
const std::string & | provider = "" |
||
) |
Construct a PK Signer.
key | the key to use inside this signer |
rng | the random generator to use |
emsa | the EMSA to use An example would be "EMSA1(SHA-224)". |
format | the signature format to use |
provider | the provider to use |
Definition at line 232 of file pubkey.cpp.
References Botan::Public_Key::algo_name(), Botan::Private_Key::create_signature_op(), Botan::Public_Key::message_part_size(), and Botan::Public_Key::message_parts().
Botan::PK_Signer::~PK_Signer | ( | ) |
Definition at line 247 of file pubkey.cpp.
|
delete |
|
inline |
|
inline |
Sign a message all in one go
in | the message to sign as a byte array |
length | the length of the above byte array |
rng | the rng to use |
Definition at line 214 of file pubkey.h.
References update.
Referenced by Botan::X509_Object::make_signed(), Botan::KeyPair::signature_consistency_check(), and Botan::TLS::Callbacks::tls_sign_message().
|
inline |
Sign a message.
in | the message to sign |
rng | the rng to use |
Definition at line 228 of file pubkey.h.
std::vector< uint8_t > Botan::PK_Signer::signature | ( | RandomNumberGenerator & | rng | ) |
Get the signature of the so far processed message (provided by the calls to update()).
rng | the rng to use |
Definition at line 293 of file pubkey.cpp.
References Botan::DER_SEQUENCE, Botan::IEEE_1363, and Botan::unlock().
size_t Botan::PK_Signer::signature_length | ( | ) | const |
Return an upper bound on the length of the signatures this PK_Signer will produce
Definition at line 277 of file pubkey.cpp.
References Botan::DER_SEQUENCE, and Botan::IEEE_1363.
Referenced by botan_pk_op_sign_output_length().
|
inline |
Add a message part (single byte).
in | the byte to add |
Definition at line 238 of file pubkey.h.
References update().
Referenced by botan_pk_op_sign_update(), and update().
void Botan::PK_Signer::update | ( | const uint8_t | in[], |
size_t | length | ||
) |
Add a message part.
in | the message part to add as a byte array |
length | the length of the above byte array |
Definition at line 249 of file pubkey.cpp.
|
inline |
|
inline |
Add a message part.
in | the message part to add |
Definition at line 261 of file pubkey.h.
References Botan::cast_char_ptr_to_uint8(), and update.