|
scclib
Stable Cloud Computing C++ Library
|
Key usage. More...
#include <cert.h>


Public Member Functions | |
| ExtKeyUsage (bool crit=false) | |
| 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... | |
| void | clear () |
Public Member Functions inherited from scc::crypto::ExtBase | |
| 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 ExtKeyUsage & | cast (ExtBasePtr b) |
Static Public Member Functions inherited from scc::crypto::ExtBase | |
| 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 | digital_signature |
| Public key is used for verifying digital signatures other than certificates and CRLs. | |
| bool | content_commitment |
| Public key is used for verifying digital signatures in a content commitment (non-repudiation) service. | |
| bool | key_encipherment |
| Public key is used to encipher private keys, e.g. in key transport. | |
| bool | data_encipherment |
| Public key is used to encipher data. This should be rare, as most applications will use key transport to establish a symmetric key. | |
| bool | key_agreement |
| Public key is used for key agreement, e.g. Diffie-Hellman key management. | |
| bool | key_cert_sign |
| Public key is used for verifying signatures on public key certificates. ExtBasicConstraints conditional_access must be true if this is true. | |
| bool | crl_sign |
| Public key is used for verifying certificates on certificate revocation lists, e.g. CRLs. | |
| bool | encipher_only |
| If key_agreement set, public key can only be used for enciphering data while performing key agreement. | |
| bool | decipher_only |
| If key_agreement set, public key can only be used for deciphering data while performing key agreement. | |
Public Attributes inherited from scc::crypto::ExtBase | |
| 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. | |
Key usage.
https://tools.ietf.org/html/rfc5280#section-4.2.1.3
KeyUsage ::= BIT STRING { digitalSignature (0), nonRepudiation (1), – recent editions of X.509 have – renamed this bit to contentCommitment keyEncipherment (2), dataEncipherment (3), keyAgreement (4), keyCertSign (5), cRLSign (6), encipherOnly (7), decipherOnly (8) }
|
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.