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: Subject: Sectigo RSA Organization Validation Secure Server CA Issuer: USERTrust...
Certificate summary - Owner: *.boston.com, "The Boston Globe ", L=Boston, ST=MASSACHUSETTS, US Issue...
Certificate summary - Owner: *.tmz.com, PlatinumSSL Wildcard, Hosted by Warner Bros. Entertainment I...
Certificate summary - Owner: Public Certification Authority, "Chunghwa Telecom Co., Ltd.", TW Issuer...
What will happen if I use 2 as the public exponent to generate an RSA private key? OpenSSL will run ...