Collections:
Other Resources:
ASN.1 File Structure Supported by OpenSSL
What is the ASN.1 (or ASN1) file structure supported by OpenSSL?
✍: FYIcenter.com
ASN.1 (Abstract Syntax Notation One) is a standard and notation
that describes rules and structures for representing, encoding,
transmitting, and decoding data in telecommunications and computer networking.
ASN.1 defines how data of multiple fields should organized into a sequential structure and encoded into a binary string, so that it can safely transferred or saved.
For example, a "Question" data type that contains a tracking number and a string of question text can be expressed in an ASN.1 structure as:
Question ::= SEQUENCE {
trackingNumber INTEGER,
questionText IA5String
}
Here is an example instance of this "Question" data type:
Question ::= {
trackingNumber 5,
questionText "Anybody there?"
}
The most common way to encode an ASN.1 structure into a binary string is called DER (Distinguished Encoding Rules), which used nested type-length-value triplets to encode ASN.1 structures.
The above "Question" instance can be encoded in DER format as:
Type: SEQUENCE > 0x30
Length: 19 bytes > 0x13
Value: {
Type: INTEGER > 0x02
Length: 1 byte > 0x01
Value: 5 > 0x05
Type: IA5STRING > 0x16
Length: 14 types > 0x0e
Value: "Anybody there?" > 0x416e79626f64792074686572653f
}
Final binary string:
0x3013020105160e416e79626f64792074686572653f
Note that:
By the way, OpenSSL assumes that all certificates, keys, and CSRs are stored in PEM format (which is Base64 encoded of DER format of ASN.1 structure).
⇒ ASN.1 Field Types Supported by OpenSSL
2016-10-17, ≈10🔥, 0💬
Popular Posts:
Where is the user-level Java trusted keystore file on Windows? I know the system-level java trusted ...
Certificate summary - Owner: *.soundcloud.com, Domain Control Validated Issuer: GlobalSign Domain Va...
What options are supported by the "keytool -printcert" command? Java Keytool can be used to printout...
Certificate summary - Owner: *.omniture.com, Adobe Marketing Cloud, Adobe Systems Incorporated, L=Sa...
How to specify x.509 v3 extensions options in the configuration file for generating CSR using the Op...