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, 6833👍, 0💬
How to save the output of an OpenSSL command into a file? I want to make a copy of the server certif...
Certificate Summary: Subject Common Name (CN): Go Daddy Root Certificate Authority - G2 Issuer Commo...
Where to find tutorials on using OpenSSL to manage certificate? Here is a collection of tutorials on...
How to view Java system-level signer CA certificates using Java Control Panel? To view Java system-l...
How does the OpenSSL verify operation work? What are the steps used by OpenSSL to verify a certifica...