|
Botan 3.13.0
Crypto and TLS for C&
|
#include <pkix_types.h>
Public Member Functions | |
| virtual std::unique_ptr< Certificate_Extension > | copy () const =0 |
| virtual bool | is_appropriate_context (Extension_Context context) const =0 |
| virtual std::string | oid_name () const =0 |
| virtual OID | oid_of () const =0 |
| virtual void | validate (const X509_Certificate &subject, const std::optional< X509_Certificate > &issuer, const std::vector< X509_Certificate > &cert_path, std::vector< std::set< Certificate_Status_Code > > &cert_status, size_t pos) const |
| virtual | ~Certificate_Extension ()=default |
Protected Member Functions | |
| virtual void | decode_inner (const std::vector< uint8_t > &)=0 |
| virtual std::vector< uint8_t > | encode_inner () const =0 |
| virtual bool | should_encode () const |
Friends | |
| class | Extensions |
X.509 Certificate Extension
Definition at line 802 of file pkix_types.h.
|
virtualdefault |
|
pure virtual |
Make a copy of this extension
Implemented in Botan::Cert_Extension::ASBlocks, Botan::Cert_Extension::Authority_Information_Access, Botan::Cert_Extension::Authority_Key_ID, Botan::Cert_Extension::Basic_Constraints, Botan::Cert_Extension::Certificate_Policies, Botan::Cert_Extension::CRL_Distribution_Points, Botan::Cert_Extension::CRL_Issuing_Distribution_Point, Botan::Cert_Extension::CRL_Number, Botan::Cert_Extension::CRL_ReasonCode, Botan::Cert_Extension::Extended_Key_Usage, Botan::Cert_Extension::IPAddressBlocks, Botan::Cert_Extension::Issuer_Alternative_Name, Botan::Cert_Extension::Key_Usage, Botan::Cert_Extension::Name_Constraints, Botan::Cert_Extension::NoRevocationAvailable, Botan::Cert_Extension::OCSP_NoCheck, Botan::Cert_Extension::Subject_Alternative_Name, Botan::Cert_Extension::Subject_Key_ID, Botan::Cert_Extension::TNAuthList, and Botan::Cert_Extension::Unknown_Extension.
|
protectedpure virtual |
|
protectedpure virtual |
|
pure virtual |
Query if
| context | is an appropriate context for this extension to exist |
Many extensions are used across different types of X509 objects but some are specific, this allows decoding to reject extensions in an inappropriate context.
References validate().
|
pure virtual |
Return string identifier for this extension
If possible the OID table should match oid_name, ie OID::from_string(ext->oid_name()) == ext->oid_of()
|
pure virtual |
Return object identifier for this extension
Implemented in Botan::Cert_Extension::ASBlocks, Botan::Cert_Extension::Authority_Information_Access, Botan::Cert_Extension::Authority_Key_ID, Botan::Cert_Extension::Basic_Constraints, Botan::Cert_Extension::Certificate_Policies, Botan::Cert_Extension::CRL_Distribution_Points, Botan::Cert_Extension::CRL_Issuing_Distribution_Point, Botan::Cert_Extension::CRL_Number, Botan::Cert_Extension::CRL_ReasonCode, Botan::Cert_Extension::Extended_Key_Usage, Botan::Cert_Extension::IPAddressBlocks, Botan::Cert_Extension::Issuer_Alternative_Name, Botan::Cert_Extension::Key_Usage, Botan::Cert_Extension::Name_Constraints, Botan::Cert_Extension::NoRevocationAvailable, Botan::Cert_Extension::OCSP_NoCheck, Botan::Cert_Extension::Subject_Alternative_Name, Botan::Cert_Extension::Subject_Key_ID, Botan::Cert_Extension::TNAuthList, and Botan::Cert_Extension::Unknown_Extension.
|
inlineprotectedvirtual |
Definition at line 863 of file pkix_types.h.
|
virtual |
Callback visited during path validation.
An extension can implement this callback to inspect the path during path validation.
If an error occurs during validation of this extension, an appropriate status code shall be added to cert_status.
| subject | Subject certificate that contains this extension |
| issuer | Issuer certificate. nullopt for certificates with no available issuer (e.g. non self-signed trust anchors). |
| cert_path | Certificate path which is currently validated |
| cert_status | Certificate validation status codes for subject certificate |
| pos | Position of subject certificate in cert_path |
Reimplemented in Botan::Cert_Extension::ASBlocks, Botan::Cert_Extension::Certificate_Policies, Botan::Cert_Extension::IPAddressBlocks, Botan::Cert_Extension::Name_Constraints, Botan::Cert_Extension::NoRevocationAvailable, Botan::Cert_Extension::OCSP_NoCheck, and Botan::Cert_Extension::Unknown_Extension.
Definition at line 181 of file x509_ext.cpp.
Referenced by is_appropriate_context().
|
friend |
Definition at line 861 of file pkix_types.h.
References Extensions.
Referenced by Extensions, and Botan::Cert_Extension::NoRevocationAvailable::validate().