Botan: Botan::PK_Key_Agreement_Key Class Reference

Botan 1.10.12

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | List of all members
Botan::PK_Key_Agreement_Key Class Referenceabstract

`#include <pk_keys.h>`

Inheritance diagram for Botan::PK_Key_Agreement_Key:

## 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 AlgorithmIdentifier | pkcs8_algorithm_identifier () const
virtual MemoryVector< byte > | pkcs8_private_key () const =0
virtual MemoryVector< byte > | public_value () const =0
virtual MemoryVector< byte > | x509_subject_public_key () const =0
virtual | ~PK_Key_Agreement_Key ()

## Protected Member Functions
void | gen_check (RandomNumberGenerator &rng) const
void | load_check (RandomNumberGenerator &rng) const

## Detailed Description

PK Secret Value Derivation Key

Definition at line 118 of file pk_keys.h.

## Constructor & Destructor Documentation

virtual Botan::PK_Key_Agreement_Key::~PK_Key_Agreement_Key | ( |  | ) |
| inlinevirtual

Definition at line 126 of file pk_keys.h.

126 {}

## Member Function Documentation

virtual std::string Botan::Public_Key::algo_name | ( |  | ) | const
| pure virtualinherited

Get the name of the underlying public key scheme.

Returns
  name of the public key scheme

Implemented in 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::CMS_Encoder::encrypt(), Botan::X509::find_constraints(), Botan::Private_Key::gen_check(), Botan::Public_Key::get_oid(), Botan::Public_Key::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().

virtual AlgorithmIdentifier Botan::Public_Key::algorithm_identifier | ( |  | ) | const
| pure virtualinherited

Returns
  X.509 AlgorithmIdentifier for this key

Implemented in Botan::EC_PublicKey, Botan::IF_Scheme_PublicKey, and Botan::DL_Scheme_PublicKey.

Referenced by Botan::X509::BER_encode(), and Botan::choose_sig_format().

virtual bool Botan::Public_Key::check_key | ( | RandomNumberGenerator & | rng,
|  | bool | strong
| ) |  | const
| pure virtualinherited

Test the key values for consistency.

Parameters

  rng | rng to use
  strong | whether to perform strong and lengthy version of the test

Returns
  true if the test is passed

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(), Botan::Public_Key::load_check(), and Botan::Private_Key::load_check().

void Botan::Private_Key::gen_check | ( | RandomNumberGenerator & | rng | ) | const
| protectedinherited

Self-test after generating a key

Parameters

  rng | a random number generator

Definition at line 49 of file pk_keys.cpp.

References Botan::Public_Key::algo_name(), and Botan::Public_Key::check_key().

Referenced by Botan::RSA_PrivateKey::RSA_PrivateKey(), and Botan::RW_PrivateKey::RW_PrivateKey().

50 {
51 if(!check_key(rng, BOTAN_PRIVATE_KEY_STRONG_CHECKS_ON_GENERATE))
52 throw Self_Test_Failure(algo_name() + " private key generation failed");
53 }
Botan::Public_Key::algo_name
virtual std::string algo_name() const =0
Botan::Public_Key::check_key
virtual bool check_key(RandomNumberGenerator &rng, bool strong) const =0

OID Botan::Public_Key::get_oid | ( |  | ) | const
| virtualinherited

Get the OID of the underlying public key scheme.

Returns
  OID of the public key scheme

Definition at line 17 of file pk_keys.cpp.

References Botan::Public_Key::algo_name(), and Botan::OIDS::lookup().

Referenced by Botan::DL_Scheme_PublicKey::algorithm_identifier(), Botan::IF_Scheme_PublicKey::algorithm_identifier(), and Botan::EC_PublicKey::algorithm_identifier().

18 {
19 try {
20 return OIDS::lookup(algo_name());
21 }
22 catch(Lookup_Error)
23 {
24 throw Lookup_Error("PK algo " + algo_name() + " has no defined OIDs");
25 }
26 }
Botan::Public_Key::algo_name
virtual std::string algo_name() const =0
Botan::OIDS::lookup
std::string lookup(const OID &oid)
Definition: oids.cpp:31

void Botan::Private_Key::load_check | ( | RandomNumberGenerator & | rng | ) | const
| protectedvirtualinherited

Self-test after loading a key

Parameters

  rng | a random number generator

Reimplemented from Botan::Public_Key.

Definition at line 40 of file pk_keys.cpp.

References Botan::Public_Key::algo_name(), and Botan::Public_Key::check_key().

Referenced by Botan::DH_PrivateKey::DH_PrivateKey(), Botan::DSA_PrivateKey::DSA_PrivateKey(), Botan::ElGamal_PrivateKey::ElGamal_PrivateKey(), and Botan::NR_PrivateKey::NR_PrivateKey().

41 {
42 if(!check_key(rng, BOTAN_PRIVATE_KEY_STRONG_CHECKS_ON_LOAD))
43 throw Invalid_Argument(algo_name() + ": Invalid private key");
44 }
Botan::Public_Key::algo_name
virtual std::string algo_name() const =0
Botan::Invalid_Argument
std::invalid_argument Invalid_Argument
Definition: exceptn.h:20
Botan::Public_Key::check_key
virtual bool check_key(RandomNumberGenerator &rng, bool strong) const =0

virtual size_t Botan::Public_Key::max_input_bits | ( |  | ) | const
| pure virtualinherited

Get the maximum message size in bits supported by this public key.

Returns
  maximum message size in bits

Implemented in 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().

virtual size_t Botan::Public_Key::message_part_size | ( |  | ) | const
| inlinevirtualinherited

Find out the message part size supported by this scheme/key.

Returns
  size of the message parts in bits

Reimplemented in Botan::ECDSA_PublicKey, Botan::NR_PublicKey, and Botan::DSA_PublicKey.

Definition at line 56 of file pk_keys.h.

56 { return 0; }

virtual size_t Botan::Public_Key::message_parts | ( |  | ) | const
| inlinevirtualinherited

Find out the number of message parts supported by this scheme.

Returns
  number of message parts

Reimplemented in 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(), Botan::choose_sig_format(), and Botan::X509_Store::validate_cert().

50 { return 1; }

virtual AlgorithmIdentifier Botan::Private_Key::pkcs8_algorithm_identifier | ( |  | ) | const
| inlinevirtualinherited

Returns
  PKCS #8 AlgorithmIdentifier for this key Might be different from the X.509 identifier, but normally is not

Definition at line 98 of file pk_keys.h.

Referenced by Botan::PKCS8::BER_encode().

99 { return algorithm_identifier(); }
Botan::Public_Key::algorithm_identifier
virtual AlgorithmIdentifier algorithm_identifier() const =0

virtual MemoryVector<byte> Botan::Private_Key::pkcs8_private_key | ( |  | ) | const
| pure virtualinherited

Returns
  PKCS #8 private key encoding for this key object

Implemented in Botan::EC_PrivateKey, Botan::DL_Scheme_PrivateKey, and Botan::IF_Scheme_PrivateKey.

Referenced by Botan::PKCS8::BER_encode().

virtual MemoryVector<byte> Botan::PK_Key_Agreement_Key::public_value | ( |  | ) | const
| pure virtual

Implemented in Botan::ECDH_PrivateKey, and Botan::DH_PrivateKey.

Referenced by Botan::DLIES_Decryptor::DLIES_Decryptor(), and Botan::DLIES_Encryptor::DLIES_Encryptor().

virtual MemoryVector<byte> Botan::Public_Key::x509_subject_public_key | ( |  | ) | const
| pure virtualinherited

Returns
  X.509 subject key encoding for this key object

Implemented in Botan::EC_PublicKey, Botan::IF_Scheme_PublicKey, and Botan::DL_Scheme_PublicKey.

Referenced by Botan::X509::BER_encode().

The documentation for this class was generated from the following file:

- src/pubkey/pk_keys.h