Botan
2.1.0
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) |
std::vector< uint8_t > | sign_message (const std::vector< uint8_t > &in, RandomNumberGenerator &rng) |
std::vector< uint8_t > | sign_message (const secure_vector< uint8_t > &in, RandomNumberGenerator &rng) |
std::vector< uint8_t > | signature (RandomNumberGenerator &rng) |
void | update (uint8_t in) |
void | update (const uint8_t in[], size_t length) |
void | update (const std::vector< uint8_t > &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 210 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 224 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 209 of file pubkey.h.
Referenced by Botan::TLS::Certificate_Verify::Certificate_Verify(), Botan::X509_Object::make_signed(), and Botan::KeyPair::signature_consistency_check().
|
inline |
Sign a message.
in | the message to sign |
rng | the rng to use |
Definition at line 222 of file pubkey.h.
|
inline |
Sign a message.
in | the message to sign |
rng | the rng to use |
Definition at line 232 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 231 of file pubkey.cpp.
References Botan::DER_SEQUENCE, Botan::DER_Encoder::encode_list(), Botan::DER_Encoder::end_cons(), Botan::DER_Encoder::get_contents_unlocked(), Botan::IEEE_1363, Botan::SEQUENCE, Botan::DER_Encoder::start_cons(), and Botan::unlock().
Referenced by Botan::TLS::Server_Key_Exchange::Server_Key_Exchange().
|
inline |
Add a message part (single byte).
in | the byte to add |
Definition at line 240 of file pubkey.h.
References update().
Referenced by Botan::TLS::Server_Key_Exchange::Server_Key_Exchange(), 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 226 of file pubkey.cpp.
|
inline |
|
inline |