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:
Certificate summary - Owner: Cybertrust Japan Public CA G3, "Cybertrust Japan Co., Ltd.", JP Issuer:...
Certificate summary - Owner: www.dmm.co.jp, Terms of use at www.verisign.com/rpa (c)05, NetworkTeam,...
Certificate summary - Owner: *.uploaded.net, Domain Control Validated - RapidSSL(R), See www.rapidss...
How to decrypt a file with the RSA private key using OpenSSL "rsautl" command? I received a file tha...
How to validate a self-signed certificate using OpenSSL "verify" command? You can validate your self...