Botan
2.1.0
Crypto and TLS for C++11
|
#include <x509_ca.h>
Public Member Functions | |
X509_Certificate | ca_certificate () const |
X509_CRL | new_crl (RandomNumberGenerator &rng, uint32_t next_update=0) const |
X509_CA & | operator= (const X509_CA &)=delete |
X509_Certificate | sign_request (const PKCS10_Request &req, RandomNumberGenerator &rng, const X509_Time ¬_before, const X509_Time ¬_after) const |
X509_CRL | update_crl (const X509_CRL &last_crl, const std::vector< CRL_Entry > &new_entries, RandomNumberGenerator &rng, uint32_t next_update=0) const |
X509_CA (const X509_Certificate &ca_certificate, const Private_Key &key, const std::string &hash_fn, RandomNumberGenerator &rng) | |
X509_CA (const X509_CA &)=delete | |
~X509_CA () | |
Static Public Member Functions | |
static X509_Certificate | make_cert (PK_Signer *signer, RandomNumberGenerator &rng, const AlgorithmIdentifier &sig_algo, const std::vector< uint8_t > &pub_key, const X509_Time ¬_before, const X509_Time ¬_after, const X509_DN &issuer_dn, const X509_DN &subject_dn, const Extensions &extensions) |
Botan::X509_CA::X509_CA | ( | const X509_Certificate & | ca_certificate, |
const Private_Key & | key, | ||
const std::string & | hash_fn, | ||
RandomNumberGenerator & | rng | ||
) |
Create a new CA object.
ca_certificate | the certificate of the CA |
key | the private key of the CA |
hash_fn | name of a hash function to use for signing |
rng | the random generator to use |
Definition at line 27 of file x509_ca.cpp.
References Botan::choose_sig_format(), and Botan::X509_Certificate::is_CA_cert().
|
delete |
Botan::X509_CA::~X509_CA | ( | ) |
Definition at line 41 of file x509_ca.cpp.
X509_Certificate Botan::X509_CA::ca_certificate | ( | ) | const |
|
static |
Interface for creating new certificates
signer | a signing object |
rng | a random number generator |
sig_algo | the signature algorithm identifier |
pub_key | the serialized public key |
not_before | the start time of the certificate |
not_after | the end time of the certificate |
issuer_dn | the DN of the issuer |
subject_dn | the DN of the subject |
extensions | an optional list of certificate extensions |
Definition at line 96 of file x509_ca.cpp.
References Botan::PEM_Code::encode(), Botan::X509_Object::make_signed(), and Botan::SEQUENCE.
Referenced by Botan::X509::create_self_signed_cert(), and sign_request().
X509_CRL Botan::X509_CA::new_crl | ( | RandomNumberGenerator & | rng, |
uint32_t | next_update = 0 |
||
) | const |
Create a new and empty CRL for this CA.
rng | the random number generator to use |
next_update | the time to set in next update in seconds as the offset from the current time |
Definition at line 146 of file x509_ca.cpp.
X509_Certificate Botan::X509_CA::sign_request | ( | const PKCS10_Request & | req, |
RandomNumberGenerator & | rng, | ||
const X509_Time & | not_before, | ||
const X509_Time & | not_after | ||
) | const |
Sign a PKCS#10 Request.
req | the request to sign |
rng | the rng to use |
not_before | the starting time for the certificate |
not_after | the expiration time for the certificate |
Definition at line 49 of file x509_ca.cpp.
References Botan::PKCS10_Request::constraints(), Botan::CRL_SIGN, Botan::PKCS10_Request::ex_constraints(), Botan::PKCS10_Request::extensions(), Botan::PKCS10_Request::is_CA(), Botan::KEY_CERT_SIGN, make_cert(), Botan::NO_CONSTRAINTS, Botan::PKCS10_Request::path_limit(), Botan::PKCS10_Request::raw_public_key(), Botan::Extensions::replace(), Botan::PKCS10_Request::subject_alt_name(), Botan::PKCS10_Request::subject_dn(), Botan::X509_Certificate::subject_dn(), Botan::X509_Certificate::subject_key_id(), Botan::PKCS10_Request::subject_public_key(), and Botan::verify_cert_constraints_valid_for_key_type().
X509_CRL Botan::X509_CA::update_crl | ( | const X509_CRL & | last_crl, |
const std::vector< CRL_Entry > & | new_entries, | ||
RandomNumberGenerator & | rng, | ||
uint32_t | next_update = 0 |
||
) | const |
Create a new CRL by with additional entries.
last_crl | the last CRL of this CA to add the new entries to |
new_entries | contains the new CRL entries to be added to the CRL |
rng | the random number generator to use |
next_update | the time to set in next update in seconds as the offset from the current time |
Definition at line 156 of file x509_ca.cpp.
References Botan::X509_CRL::crl_number(), and Botan::X509_CRL::get_revoked().