scclib
Stable Cloud Computing C++ Library
|
Certificate encoding using PEM format: https://tools.ietf.org/html/rfc7468. More...
Files | |
file | cert.h |
X.509 and RSA certificates. | |
file | cert.cc |
Test file for X.509 and RSA certificates. | |
Typedefs | |
using | scc::crypto::RDNPair = std::pair< oid_value, DirectoryString > |
An x.509 relative distingushed name is a set of attribute / directory string names. More... | |
using | scc::crypto::ExtBasePtr = std::shared_ptr< ExtBase > |
Certificate encoding using PEM format: https://tools.ietf.org/html/rfc7468.
RSA public and private key ASN.1 syntax: https://tools.ietf.org/html/rfc8017#appendix-A PKCS#1: https://tools.ietf.org/html/rfc8017#page-68
X.509 certificates: https://tools.ietf.org/html/rfc5280 Information on algorithms used in certificates: https://tools.ietf.org/html/rfc3279 PKCS exchange syntax: https://tools.ietf.org/html/rfc7292 Rsa syntax defined in: https://tools.ietf.org/html/rfc3447#page-44
using scc::crypto::RDNPair = typedef std::pair<oid_value, DirectoryString> |
An x.509 relative distingushed name is a set of attribute / directory string names.
https://tools.ietf.org/html/rfc5280#section-4.1.2.4
Name ::= CHOICE { – only one possibility for now – rdnSequence RDNSequence }
RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET SIZE (1..MAX) OF AttributeTypeAndValue
AttributeTypeAndValue ::= SEQUENCE { type AttributeType, value AttributeValue }
AttributeType ::= OBJECT IDENTIFIER
AttributeValue ::= ANY – DEFINED BY AttributeType
|
strong |
Attribute types.
These are defined in x.509 spec, and various other docs.
Main https://tools.ietf.org/html/rfc5280#page-110
id-at OBJECT IDENTIFIER ::= { joint-iso-ccitt(2) ds(5) 4 }
Key algorithm type.
rsa public keys have algorithm_id = {1, 2, 840, 113549, 1, 1, 1}, see https://tools.ietf.org/html/rfc3279#section-2.3.1 ecdsa public keys have algorithm_id = {1, 2, 840, 10045, 2, 1}, see https://tools.ietf.org/html/rfc3279#section-2.3.5
ecdsa supports standard curves where the parameters are an oid identifying the named (standard) curve, see https://tools.ietf.org/html/rfc3279#page-19, and https://tools.ietf.org/html/rfc5480#page-17
|
strong |
Signature algorithms for X.509 certificates.
A list of signature algorithms which can be used to sign certificates.
Algorithms which are unsupported are listed as unknown.
See: