- Author: Jonathan M. Wilbur <jonathan@wilbur.space>
- Copyright Year: 2018
- License: MIT License
- Version: 0.1.0
ASN.1 stands for Abstract Syntax Notation. ASN.1 was first specified in X.680 - Abstract Syntax Notation One (ASN.1), by the International Telecommunications Union. ASN.1 messages can be encoded in one of several encoding/decoding standards. It provides a system of types that are extensible, and can presumably describe every protocol. You can think of it as a protocol for describing other protocols as well as a family of standards for encoding and decoding said protocols. It is similar to Google's Protocol Buffers, or Sun Microsystems' External Data Representation (XDR).
ASN.1 is used in, or required by, multiple technologies, including:
- X.509 Certificates, used in SSL/TLS
- Lightweight Directory Access Protocol (LDAP)
- X.400, the messaging system used by the U.S. Military
- X.500
- The magnetic stripes on credit cards and debit cards
- Microsoft's Remote Desktop Protocol (RDP)
- Simple Network Management Protocol (SNMP)
- Common Management Information Protocol (CMIP)
- Signalling System Number 7 (SS7), used to make most phone calls on the Public Switched Telephone Network (PSTN).
- Kerberos 5
- H.323 Video conferencing
- Biometrics Protocols:
- Computer Supported Telecommunications Applications (CSTA)
- Dedicated Short Range Communications (SAE J2735)
- Cellular telephony:
If you look in the
asn1
directory of WireShark's source code,
you'll see all of the protocols that use ASN.1.
I retrieved most of these specifications from this database.
Some of the todos are crossed out because I can't find them.
- Under
{joint-iso-itu-t(2) ds(5) module(1)}
:- usefulDefinitions(0)
- informationFramework(1)
- directoryAbstractService(2)
- distributedOperations(3)
- protocolObjectIdentifiers(4)
- selectedAttributeTypes(5)
- selectedObjectClasses(6)
- authenticationFramework(7)
- algorithmObjectIdentifiers(8)
-
directoryObjectIdentifiers(9) - upperBounds(10)
- dap(11)
- dsp(12)
-
distributedDirectoryOIDs(13) -
directoryShadowOIDs(14) - directoryShadowAbstractService(15)
- disp(16)
- dop(17)
- opBindingManagement(18)
-
opBindingOIDs(19) - hierarchicalOperationalBindings(20)
- dsaOperationalAttributeTypes(22)
- schemaAdministration(23)
- basicAccessControl(24)
- directoryOperationalBindingTypes(25)
- certificateExtensions(26) WARNING: I don't think this one was correct.
- directoryManagement(27)
- enhancedSecurity(28)
- directorySecurityExchanges(29)
- iDMProtocolSpecification(30)
- directoryIDMProtocols(31)
- attributeCertificateDefinitions(32)
- serviceAdministration(33)
-
externalDefinitions(34) - commonProtocolSpecification(35)
- oSIProtocolSpecification(36) WARNING: I don't think this one was correct, either.
- directoryOSIProtocols(37)
- ldapSystemSchema(38) WARNING: Or this one...
- passwordPolicy(39)
- pkiPmiExternalDataTypes(40)
- extensionAttributes(41)
- pkiPmiWrapper(42)
- pkiPMIProtocolSpecifications(43)
-
trustBrokerProtocol(44)
- X.680 - Abstract Syntax Notation One (ASN.1), published by the International Telecommunications Union.
- ASN.1: Communication Between Heterogeneous Systems by Olivier Dubuisson
If you would like to suggest fixes or improvements on this library, please just leave an issue on this GitHub page. If you would like to contact me for other reasons, please email me at jonathan@wilbur.space (My GPG Key) (My TLS Certificate). 🐗