scclib
Stable Cloud Computing C++ Library
Files | Classes | Typedefs
Distinguished encoding rules (DER)

DER (Distinguished Encoding Rules), is a subset of the binary packaging format ASN.1 commonly applied to cryptography objects. More...

Collaboration diagram for Distinguished encoding rules (DER):

Files

file  der.h
 Distinguished encoding rules (DER).
 
file  der.cc
 Test file for Distinguished encoding rules (DER).
 
file  der_cert.cc
 Test file for Distinguished encoding rules (DER).
 

Classes

class  scc::crypto::BitString
 Bit string. More...
 
class  scc::crypto::DerBase
 ASN.1 base. More...
 
class  scc::crypto::DerContainerBase
 Container base class. More...
 
class  scc::crypto::DerSequence
 An ASN.1 SEQUENCE or SEQUENCE OF type. More...
 
class  scc::crypto::DerSet
 An ASN.1 SET or SET OF type. More...
 
class  scc::crypto::DerNull
 
class  scc::crypto::DerBoolean
 
class  scc::crypto::DerObjectIdentifier
 Object identifier class. More...
 
class  scc::crypto::DerTimeBase
 Time base class. More...
 
class  scc::crypto::DerUtcTime
 UTC time. More...
 
class  scc::crypto::DerGeneralizedTime
 Generalized time. More...
 
class  scc::crypto::DerStringBase
 All strings derive from simple string base class. More...
 
class  scc::crypto::DerTeletexString
 
class  scc::crypto::DerVisibleString
 
class  scc::crypto::DerUniversalString
 
class  scc::crypto::DerOctetString
 
class  scc::crypto::DerUtf8String
 
class  scc::crypto::DerPrintableString
 
class  scc::crypto::DerIa5String
 
class  scc::crypto::DerBmpString
 
class  scc::crypto::DerInteger
 
class  scc::crypto::DerBitString
 
class  scc::crypto::DerDocument
 DER document. More...
 
class  scc::crypto::PemDocument
 PEM formatted DER document. More...
 

Typedefs

using scc::crypto::BasePtr = std::shared_ptr< DerBase >
 
using scc::crypto::oid_value = std::vector< uint32_t >
 

Detailed Description

DER (Distinguished Encoding Rules), is a subset of the binary packaging format ASN.1 commonly applied to cryptography objects.

ASN.1: https://tools.ietf.org/html/rfc6025 X.680 ASN.1 basic rules: https://www.itu.int/rec/T-REC-X.680/en (defines all universal types) DER specification detail X.690: https://www.itu.int/rec/T-REC-X.690-201508-I/en

Technical note for DER format: http://luca.ntop.org/Teaching/Appunti/asn1.html

This contains enough to parse X.509 certificates. 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

PEM format is base64 encoded DER format. Certificate encoding using DER and PEM format: https://tools.ietf.org/html/rfc7468

https://tools.ietf.org/html/rfc3447 contains info on rsa private key asn.1 syntax.