OpenSSL "ans1parse" - DER (Distinguished Encoding Rules)
What is the DER (Distinguished Encoding Rules) encoding used in the OpenSSL "asn1parse" command?
DER (Distinguished Encoding Rules) is an encoding schema to convert an ASN.1 data structure into a binary string. In other words, DER is a serialization schema for the ASN.1 data structure.
DER is one the three encodings defined in the X.690 standard: Basic Encoding Rules (BER), Canonical Encoding Rules (CER), and Distinguished Encoding Rules (DER)
DER encoding schema can summarized at a high level as below:
1. Each ASN.1 field is encoded with a triplets of 3 byte sequences: TLV (Tag Length Value).
2. If the ASN.1 field is a constructed field, the Value byte sequence is the concatenation of DER encodings of it members: TL(TLV...).
3. The Tag byte sequence uses 1 byte for the 30 (ox1E) universal field types
4. For non-universal (custom) field types, multiple bytes are used for the Tag byte sequence in the format of of 0bxxx11111-1yyyyyyy-...-0yyyyyyy,
5. The Length byte sequence uses 1 type for values with 127 bytes or less.
6. For values with 128 bytes or more, multiple bytes are used for the Length byte sequence in the format of 0b1xxxxxxx-yyyyyyyy-yyyyyyyy-.... "xxxxxxx" stores the number of "yyyyyyyy" bytes, which stores the actual length.
6. The Value byte sequence encodes the field value depending on the filed type.
See X.690 standard for more details.
2016-09-28, 6067👍, 0💬
How to validate a certificate stored in a "cert8.db" file using Mozilla "certutil" tool? If you want...
Certificate Summary: Subject: Starfield Class 2 Certification Authority Issuer: Starfield Class 2 Ce...
How can I use Mozilla "certutil -A" command? What are command options supported by "certutil -A"? Th...
How to view the ASN.1 structure of an RSA public key using the OpenSSL "asn1parse" command? You can ...
What is the ASN.1 (or ASN1) file structure supported by OpenSSL? ASN.1 (Abstract Syntax Notation One...