证书主题 X.509

问题描述 投票:0回答:3

根据 X.509,证书有一个属性 subject。

C=美国、ST=马里兰州、L=帕萨迪纳、O=布伦特·巴卡拉、OU=FreeSoft、
CN=www.freesoft.org/[电子邮件受保护]

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

certificate x509 asn.1 dn
3个回答
121
投票

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

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

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

  • 局部性(局部性,L),
  • 标题(标题),
  • 姓氏(姓氏,SN),
  • 名字 (givenName, GN),
  • 缩写(缩写),
  • 笔名(化名)和
  • 一代限定符( GenerationQualifier )。

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

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


4
投票

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

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

例如,国家/地区代码“C”遵循 RFC4517ISO3166,后者给出了实际的两个字母代码。域组件“DC”是符合 RFC1034 的 dns 名称。


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.