Botan
1.10.9
|
#include <cvc_gen_cert.h>
Public Member Functions | |
SecureVector< byte > | BER_encode () const |
bool | check_signature (class Public_Key &key) const |
bool | check_signature (class Public_Key &key, const MemoryRegion< byte > &sig) const |
EAC1_1_gen_CVC () | |
void | encode (Pipe &out, X509_Encoding encoding) const |
ASN1_Chr | get_chr () const |
SecureVector< byte > | get_concat_sig () const |
bool | is_self_signed () const |
std::string | PEM_encode () const |
AlgorithmIdentifier | signature_algorithm () const |
Public_Key * | subject_public_key () const |
SecureVector< byte > | tbs_data () const |
virtual | ~EAC1_1_gen_CVC () |
Static Public Member Functions | |
static SecureVector< byte > | build_cert_body (MemoryRegion< byte > const &tbs) |
static MemoryVector< byte > | make_signed (PK_Signer &signer, const MemoryRegion< byte > &tbs_bits, RandomNumberGenerator &rng) |
Protected Member Functions | |
void | do_decode () |
void | init (DataSource &in) |
Static Protected Member Functions | |
static void | decode_info (DataSource &source, SecureVector< byte > &res_tbs_bits, ECDSA_Signature &res_sig) |
Protected Attributes | |
ASN1_Chr | m_chr |
ECDSA_PublicKey * | m_pk |
ECDSA_Signature | m_sig |
std::string | PEM_label_pref |
std::vector< std::string > | PEM_labels_allowed |
bool | self_signed |
AlgorithmIdentifier | sig_algo |
SecureVector< byte > | tbs_bits |
Friends | |
class | EAC1_1_obj< EAC1_1_gen_CVC > |
This class represents TR03110 (EAC) v1.1 generalized CV Certificates
Definition at line 23 of file cvc_gen_cert.h.
|
inline |
Definition at line 80 of file cvc_gen_cert.h.
|
inlinevirtual |
Definition at line 82 of file cvc_gen_cert.h.
|
inherited |
BER encode this object.
Definition at line 19 of file signed_obj.cpp.
References Botan::EAC_Signed_Object::encode(), Botan::Pipe::end_msg(), Botan::RAW_BER, Botan::Pipe::read_all(), and Botan::Pipe::start_msg().
Referenced by Botan::CVC_EAC::create_ado_req().
|
static |
Build the DER encoded certifcate body of an object
tbs | the data to be signed |
Definition at line 128 of file cvc_gen_cert.h.
References Botan::APPLICATION, Botan::DER_Encoder::end_cons(), Botan::DER_Encoder::get_contents(), Botan::DER_Encoder::raw_bytes(), and Botan::DER_Encoder::start_cons().
|
inlineinherited |
Definition at line 30 of file eac_obj.h.
|
inherited |
Check the signature of this object.
key | the public key associated with this signed object |
sig | the signature we are checking |
Definition at line 48 of file signed_obj.cpp.
References Botan::Public_Key::algo_name(), Botan::DER_SEQUENCE, Botan::IEEE_1363, Botan::OIDS::lookup(), Botan::Public_Key::message_parts(), Botan::AlgorithmIdentifier::oid, Botan::EAC_Signed_Object::sig_algo, Botan::split_on(), Botan::EAC_Signed_Object::tbs_data(), and Botan::PK_Verifier::verify_message().
Referenced by Botan::EAC1_1_obj< EAC1_1_Req >::check_signature().
|
staticprotected |
Definition at line 160 of file cvc_gen_cert.h.
References Botan::APPLICATION, Botan::BER_Decoder::decode(), Botan::decode_concatenation(), Botan::BER_Decoder::end_cons(), Botan::OCTET_STRING, Botan::BER_Decoder::raw_bytes(), and Botan::BER_Decoder::start_cons().
|
protectedinherited |
Definition at line 79 of file signed_obj.cpp.
References Botan::EAC_Signed_Object::PEM_label_pref.
Referenced by Botan::EAC1_1_ADO::EAC1_1_ADO(), Botan::EAC1_1_CVC::EAC1_1_CVC(), and Botan::EAC1_1_Req::EAC1_1_Req().
|
virtual |
Put the DER encoded version of this object into a pipe. PEM is not supported.
out | the pipe to push the DER encoded version into |
encoding | the encoding to use. Must be DER. |
Implements Botan::EAC_Signed_Object.
Definition at line 141 of file cvc_gen_cert.h.
References Botan::APPLICATION, Botan::DER_Encoder::encode(), Botan::DER_Encoder::end_cons(), Botan::DER_Encoder::get_contents(), Botan::OCTET_STRING, Botan::PEM, Botan::DER_Encoder::raw_bytes(), Botan::DER_Encoder::start_cons(), and Botan::Pipe::write().
ASN1_Chr Botan::EAC1_1_gen_CVC< Derived >::get_chr | ( | ) | const |
Get the CHR of the certificate.
Definition at line 96 of file cvc_gen_cert.h.
Referenced by Botan::DE_EAC::link_cvca(), and Botan::DE_EAC::sign_request().
|
inlinevirtualinherited |
Return the signature as a concatenation of the encoded parts.
Implements Botan::EAC_Signed_Object.
Definition at line 27 of file eac_obj.h.
Referenced by Botan::EAC1_1_Req::operator==(), Botan::EAC1_1_CVC::operator==(), and Botan::EAC1_1_ADO::operator==().
|
inlineprotectedinherited |
bool Botan::EAC1_1_gen_CVC< Derived >::is_self_signed | ( | ) | const |
Find out whether this object is self signed.
Definition at line 101 of file cvc_gen_cert.h.
|
static |
Create a signed generalized CVC object.
signer | the signer used to sign this object |
tbs_bits | the body the generalized CVC object to be signed |
rng | a random number generator |
Definition at line 107 of file cvc_gen_cert.h.
References Botan::APPLICATION, Botan::DER_Encoder::encode(), Botan::DER_Encoder::end_cons(), Botan::DER_Encoder::get_contents(), Botan::OCTET_STRING, Botan::DER_Encoder::raw_bytes(), Botan::PK_Signer::sign_message(), and Botan::DER_Encoder::start_cons().
Referenced by Botan::CVC_EAC::create_cvc_req().
|
inherited |
PEM encode this object.
Definition at line 31 of file signed_obj.cpp.
References Botan::EAC_Signed_Object::encode(), Botan::Pipe::end_msg(), Botan::PEM, Botan::Pipe::read_all_as_string(), and Botan::Pipe::start_msg().
|
inherited |
Get the signature algorithm identifier used to sign this object.
Definition at line 43 of file signed_obj.cpp.
References Botan::EAC_Signed_Object::sig_algo.
Referenced by Botan::CVC_EAC::create_ado_req(), Botan::DE_EAC::link_cvca(), and Botan::DE_EAC::sign_request().
Public_Key * Botan::EAC1_1_gen_CVC< Derived >::subject_public_key | ( | ) | const |
Get this certificates public key.
Definition at line 123 of file cvc_gen_cert.h.
Referenced by Botan::DE_EAC::link_cvca(), and Botan::DE_EAC::sign_request().
|
virtual |
Get the to-be-signed (TBS) data of this object.
Implements Botan::EAC_Signed_Object.
Definition at line 136 of file cvc_gen_cert.h.
Referenced by Botan::EAC1_1_Req::operator==(), and Botan::EAC1_1_CVC::operator==().
|
friend |
Definition at line 25 of file cvc_gen_cert.h.
|
protected |
Definition at line 87 of file cvc_gen_cert.h.
|
protected |
Definition at line 86 of file cvc_gen_cert.h.
Referenced by Botan::EAC1_1_gen_CVC< EAC1_1_Req >::EAC1_1_gen_CVC(), and Botan::EAC1_1_gen_CVC< EAC1_1_Req >::~EAC1_1_gen_CVC().
|
protectedinherited |
Definition at line 36 of file eac_obj.h.
Referenced by Botan::EAC1_1_obj< EAC1_1_Req >::check_signature(), and Botan::EAC1_1_obj< EAC1_1_Req >::get_concat_sig().
|
protectedinherited |
Definition at line 87 of file signed_obj.h.
Referenced by Botan::EAC_Signed_Object::do_decode(), and Botan::EAC1_1_obj< EAC1_1_Req >::init().
|
protectedinherited |
Definition at line 88 of file signed_obj.h.
|
protected |
Definition at line 88 of file cvc_gen_cert.h.
|
protectedinherited |
Definition at line 85 of file signed_obj.h.
Referenced by Botan::EAC_Signed_Object::check_signature(), and Botan::EAC_Signed_Object::signature_algorithm().
|
protectedinherited |
Definition at line 86 of file signed_obj.h.
Referenced by Botan::EAC1_1_ADO::encode(), Botan::EAC1_1_obj< EAC1_1_Req >::init(), and Botan::EAC1_1_ADO::tbs_data().