附录 A. ASN.1 和可辨识名称
摘要
OSI Abstract Syntax Notation One (ASN.1)和 X.500 Distinguished Names 在定义 X.509 证书和 LDAP 目录的安全标准中扮演重要角色。
A.1. ASN.1
概述
Abstract Syntax Notation One (ASN.1)由早期 1980s 中的 OSI 标准正文定义,以提供定义独立于任何特定机器硬件或编程语言的数据类型和结构的方法。在很多方面,ASN.1 可以被视为现代接口定义语言的 forerunner,如 OMG 的 IDL 和 WSDL,它们负责定义平台独立的数据类型。
ASN.1 很重要,因为它广泛用于标准定义(如 SNMP、X.509 和 LDAP)。特别是 ASN.1 在安全标准领域是无处不在的。X.509 证书和可分辨名称的正式定义使用 ASN.1 语法进行了描述。您不需要详细了解 ASN.1 语法来使用这些安全标准,但您需要注意 ASN.1 用于大多数安全相关数据类型的基本定义。
BER
OSI 的基本编码规则(BER)定义如何将 ASN.1 数据类型转换为一系列字节(二进制表示)。BER 对 ASN.1 扮演的角色是,与 OMG IDL 的 GIOP 的作用类似。
DER
OSI 的可辨识编码规则(DER)是 BER 的分类。DER 由 BER 加上一些额外的规则组成,以确保编码是唯一的(不会进行编码)。
参考
您可以在以下标准文档中阅读更多有关 ASN.1 的信息:
- ASN.1 在 X.208 中定义。
- BER 在 X.209 中定义。