-
X.690:
-
An ITU-T standard specifying several ASN.1 encoding formats:
-
ITU-T X.690 Encoding Formats:
-
# Basic Encoding Rules (BER):
- The original ruleset governing the encoding of ASN.1 data structures.
-
# Canonical Encoding Rules (CER):
- A restricted version of BER
- If chosen, only CER may be used. All other formats are restricted.
-
# Distinguished Encoding Rules (DER):
- Another restricted variant of BER
- If chosen, only DER may be used. All other formats are restricted.
- Note: Files are DER encoded, NOT necessarily .DER extension; DER encoded certificates may be .DER, .CER, or .CRT
- Has restrictive TLV sorting rules
- Base2 (binary)
- Widely used for X.509 certificates. For example, certificate enrollment in Windows Servers uses DER exclusively.
-
The syntax defines TLV encoding elements:
- Type identifier
- Length description
- Value (Contents)
-
Privacy-Enhanced Mail (PEM):
- Uses the DER encoding method
- Base64 (ASCII) encoded DER certificate file extension.
- The .PEM extension is used for X.509v3 files which contain Base64 (ASCII) data.
- All .PEM armored data is prefixed/suffixed between "-----BEGIN CERTIFICATE-----" and "-----END CERTIFICATE-----"
-
The original X.509 standards were never broadly adopted. Instead, they were overtaken by these two standards:
- Pretty Good Privacy (PGP)
- Secure Multipurpose Internet Mail Extensions (S/MIME)
-
Public Key Cryptography Standards (PKCS):
- A set of standards devised and published by RSA Security beginning in the early 1990s to promote their patented cryptography techniques.
- Although they are not industry standards like IETF or PKIX, their ratings still hold relevance due to the widespread use of their algorithms.
-
All algorithms not listed have either been abandoned, or are beyond the scope of this test:
- PKCS#1: RSA Cryptography Standard
- PKCS#3: Diffie-Hellman Key Agreement Standard
- PKCS#5: Password-Based Encryption Standard
-
PKCS#7: Cryptographic Message Syntax Standard
- Digital ID S/MIME format file.
- See RFC 2315 for more information.
- PKCS#8: Private Key Information Syntax Standard
- PKCS#10: Certification Request Syntax Specification
-
PKCS#12: Personal Information Exchange Syntax Standard
- A file format able to store multiple password-protected and/or encrypted certificates.
- P12 format files are often used to establish client authentication certificates.
- See RFC 7292 for more information.