scclib
Stable Cloud Computing C++ Library
|
Basic constraints. More...
#include <cert.h>
Public Member Functions | |
ExtBasicConstraints (bool crit=false, bool ca=false, unsigned plen=0) | |
std::string | name () const |
Return the name of the extension. | |
virtual std::string | str (bool=false) const |
Print to string, optionally printing the value. | |
virtual void | parse () |
Parse value into the the local sub-class data. | |
virtual void | dump () |
Dump sub-class data into the value. | |
virtual bool | implemented () const |
Is this implemented (sub-classed)? More... | |
![]() | |
ExtBase (bool crit=false) | |
BasePtr | dump_seq () |
Dump the extension into an Extension sequence. | |
Static Public Member Functions | |
static bool | is_castable (ExtBasePtr b) |
static ExtBasicConstraints & | cast (ExtBasePtr b) |
![]() | |
static ExtBasePtr | create (BasePtr) |
Create an extension. More... | |
static oid_value | find_oid (ExtType) |
Find the oid associated with the extension type. | |
Public Attributes | |
bool | conditional_access |
Is this a conditional access certificate? If so, the public key can be used to verify certificate. | |
Bignum | max_path_len |
If conditional access, the maximum number of intermediate certificates in the certification path. | |
![]() | |
oid_value | oid |
The oid of the extension. | |
bool | critical |
Is the extension marked critical? If a CRL contains a critical extension that cannot be processed, it must not be used to determine the status of certificates. | |
BasePtr | value |
Parsed extension value. | |
Basic constraints.
https://tools.ietf.org/html/rfc5280#section-4.2.1.9
BasicConstraints ::= SEQUENCE { cA BOOLEAN DEFAULT FALSE, pathLenConstraint INTEGER (0..MAX) OPTIONAL }
CA certificates with public keys used to validate certificates must have this extension, and it must be critical.
|
inlinevirtual |
Is this implemented (sub-classed)?
If an extension is marked critical, but is unrecognized, it is not recommended for the service to proceed using the certificate.
Reimplemented from scc::crypto::ExtBase.