Botan
1.10.9
|
#include <pk_keys.h>
Public Member Functions | |
virtual std::string | algo_name () const =0 |
virtual AlgorithmIdentifier | algorithm_identifier () const =0 |
virtual bool | check_key (RandomNumberGenerator &rng, bool strong) const =0 |
virtual OID | get_oid () const |
virtual size_t | max_input_bits () const =0 |
virtual size_t | message_part_size () const |
virtual size_t | message_parts () const |
virtual MemoryVector< byte > | x509_subject_public_key () const =0 |
virtual | ~Public_Key () |
Protected Member Functions | |
virtual void | load_check (RandomNumberGenerator &rng) const |
|
inlinevirtual |
|
pure virtual |
Get the name of the underlying public key scheme.
Implemented in Botan::GOST_3410_PublicKey, Botan::ECDSA_PublicKey, Botan::ECDH_PublicKey, Botan::ElGamal_PublicKey, Botan::DH_PublicKey, Botan::DSA_PublicKey, Botan::NR_PublicKey, Botan::RSA_PublicKey, and Botan::RW_PublicKey.
Referenced by Botan::Certificate_Verify::Certificate_Verify(), Botan::EAC_Signed_Object::check_signature(), Botan::X509_Object::check_signature(), Botan::choose_sig_format(), Botan::X509::find_constraints(), Botan::Private_Key::gen_check(), get_oid(), load_check(), Botan::Private_Key::load_check(), Botan::PK_Decryptor_EME::PK_Decryptor_EME(), Botan::PK_Encryptor_EME::PK_Encryptor_EME(), Botan::PK_Key_Agreement::PK_Key_Agreement(), Botan::PK_Signer::PK_Signer(), Botan::PK_Verifier::PK_Verifier(), Botan::Server_Hello::Server_Hello(), Botan::Server_Key_Exchange::Server_Key_Exchange(), Botan::CMS_Encoder::sign(), and Botan::Server_Key_Exchange::verify().
|
pure virtual |
Implemented in Botan::EC_PublicKey, Botan::GOST_3410_PublicKey, Botan::IF_Scheme_PublicKey, and Botan::DL_Scheme_PublicKey.
Referenced by Botan::X509::BER_encode(), and Botan::choose_sig_format().
|
pure virtual |
Test the key values for consistency.
rng | rng to use |
strong | whether to perform strong and lengthy version of the test |
Implemented in Botan::DL_Scheme_PrivateKey, Botan::ECDSA_PrivateKey, Botan::IF_Scheme_PrivateKey, Botan::RW_PrivateKey, Botan::DSA_PrivateKey, Botan::EC_PublicKey, Botan::RSA_PrivateKey, Botan::ElGamal_PrivateKey, Botan::NR_PrivateKey, Botan::IF_Scheme_PublicKey, and Botan::DL_Scheme_PublicKey.
Referenced by Botan::Private_Key::gen_check(), load_check(), and Botan::Private_Key::load_check().
|
virtual |
Get the OID of the underlying public key scheme.
Definition at line 17 of file pk_keys.cpp.
References algo_name(), and Botan::OIDS::lookup().
Referenced by Botan::DL_Scheme_PublicKey::algorithm_identifier(), Botan::IF_Scheme_PublicKey::algorithm_identifier(), Botan::GOST_3410_PublicKey::algorithm_identifier(), and Botan::EC_PublicKey::algorithm_identifier().
|
protectedvirtual |
Self-test after loading a key
rng | a random number generator |
Reimplemented in Botan::Private_Key.
Definition at line 31 of file pk_keys.cpp.
References algo_name(), and check_key().
|
pure virtual |
Get the maximum message size in bits supported by this public key.
Implemented in Botan::GOST_3410_PublicKey, Botan::ECDH_PublicKey, Botan::ECDSA_PublicKey, Botan::IF_Scheme_PublicKey, Botan::NR_PublicKey, Botan::DSA_PublicKey, Botan::ElGamal_PublicKey, and Botan::DH_PublicKey.
Referenced by Botan::choose_sig_format().
|
inlinevirtual |
Find out the message part size supported by this scheme/key.
Reimplemented in Botan::GOST_3410_PublicKey, Botan::ECDSA_PublicKey, Botan::NR_PublicKey, and Botan::DSA_PublicKey.
|
inlinevirtual |
Find out the number of message parts supported by this scheme.
Reimplemented in Botan::GOST_3410_PublicKey, Botan::ECDSA_PublicKey, Botan::NR_PublicKey, and Botan::DSA_PublicKey.
Definition at line 50 of file pk_keys.h.
Referenced by Botan::EAC_Signed_Object::check_signature(), Botan::X509_Object::check_signature(), and Botan::choose_sig_format().
|
pure virtual |
Implemented in Botan::EC_PublicKey, Botan::GOST_3410_PublicKey, Botan::IF_Scheme_PublicKey, and Botan::DL_Scheme_PublicKey.
Referenced by Botan::X509::BER_encode().