Un módulo ASN.1 declara tipos; el RFC 5280, por ejemplo, define Certificate como una SEQUENCE de tbsCertificate, signatureAlgorithm (un AlgorithmIdentifier) y signatureValue (un BIT STRING). Los bloques de construcción son SEQUENCE, SET, CHOICE, los campos OPTIONAL y DEFAULT, las etiquetas específicas del contexto ([0], [1]) con etiquetado IMPLICIT o EXPLICIT, y tipos primitivos como INTEGER, BIT STRING, OCTET STRING, OBJECT IDENTIFIER y los tipos de cadena y de tiempo.
Las reglas de codificación convierten un valor en bytes: BER y su subconjunto canónico DER (X.690) para PKI, PER para mensajes compactos de telecomunicaciones, XER y JER para XML y JSON. La mayor parte del ASN.1 relevante para la seguridad es DER.
El análisis de ASN.1 tiene un largo historial de errores (desbordamientos de longitud, confusión entre BER y DER, discrepancias en el manejo de etiquetas), así que usa un analizador mantenido y nunca escribas uno a mano para entradas que no sean de confianza. Saber leer un volcado es una habilidad práctica de depuración: openssl asn1parse -i o el explorador de ASN.1 muestran el árbol con los desplazamientos.