80

根据 X.509,证书具有属性主题。

C=US,ST=马里兰,L=帕萨迪纳,O=Brent Baccala,OU=FreeSoft,
CN=www.freesoft.org/emailAddress=baccala@freesoft.org

这是典型的主题值。问题是这些属性(C、ST、L、O、OU、CN)的类型(或标签)是什么,它们的格式是什么?

4

3 回答 3

108

IETF PKIX(最新版本RFC 5280)是公认的证书配置文件。从第 4.1.2.4 节开始,必须支持以下字段(我在括号之间添加的是 OpenSSL 长名称和可选短名称):

  • 国家(国家名称,C),
  • 组织(组织名称,O),
  • 组织单位(organizationalUnitName,OU),
  • 专有名称限定符 (dnQualifier),
  • 州或省名称(stateOrProvinceName,ST),
  • 通用名称(commonName,CN)和
  • 序列号(序列号)。

还有一个应该支持的元素列表:

  • 地点(地点,L),
  • 标题(标题),
  • 姓氏(surName,SN),
  • 给定名称(givenName,GN),
  • 首字母(首字母),
  • 化名(化名)和
  • 代限定符(generationQualifier)。

值应以 UTF8String 或 PrintableString 编码(其中一些仅在 PrintableString 中,一些例外在 IA5String 中)。该标准还具有所有字段类型的最大长度(附录 A.1)

出于兼容性的原因,实现还必须支持以 IA5String 编码的域组件(domainComponent、DC)。注意电子邮件 (emailAddress) 及其编码(IA5String,但它在 DN 中被认为已弃用(它应该在主题备用名称扩展中)。

于 2011-06-24T06:56:12.290 回答
2

对于那些想要这些属性的确切格式的人,这在RFC5280中没有给出:

大写标签在RFC4519中有详细说明,它是LDAP 模式。本文档还链接到描述每个特定属性和数据类型的精确语法和语义的其他 RFC。

例如,国家代码“C”遵循RFC4517ISO3166,它给出了实际的两个字母代码。并且域组件“DC”是一个符合RFC1034的 dns 名称。

于 2021-12-02T11:24:35.647 回答
1

除了参考 RFC 5280 的出色答案外,还请参阅RFC 8399 Internationalization Updates to RFC 5280。RFC 8399 指定如何处理国际化的域名和电子邮件地址,符合更新的 IDNA 2008。RFC 5280 与过时的 IDNA 2003 保持一致,并不清楚如何处理本地部分不限于 ASCII 的电子邮件地址.

于 2021-03-11T21:57:05.983 回答