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, 6278👍, 0💬
What is Java Keytool? I heard that Java Keytool is nice tool to generate keys and manage certificate...
Do you want to learn how to manage certificates for Java VM (Virtual Machine) on Windows? Here is a ...
What is the default behavior of the "certutil -store" command? The default behavior of the "certutil...
Can I wrap a primitive field into a BIT STRING or OCTET STRING field with the OpenSSL "asn1parse" co...
Certificate Summary: Subject: VeriSign, Inc., VeriSign International Server CA - Class ... Issuer: C...