我一直在搜索 RFC 5280、1034 和 1123,试图找出最大字符串长度,但找不到。我想知道你们中是否有人知道。
如果您了解 X509v3 证书,您就会知道您可以在证书中包含主题备用名称 (SAN)。SAN 有多种类型:电子邮件地址、DNS 名称、目录名称等。
我正在将 DNSName 类型的 SAN 添加到我的证书中,但我无法确定 DNSName 类型的 SAN 的最大长度是多少。
有谁知道吗?
答案1
RFC 5280 在 4.2.1.6 中指定了 1..MAX 个 SubjectAltName GeneralNames:
SubjectAltName ::= GeneralNames
GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
在附录 B 中,它指出
构造“SEQUENCE SIZE (1..MAX) OF”出现在多个 ASN.1 构造中。有效的 ASN.1 序列将有零个或多个条目。SIZE (1..MAX) 构造限制序列至少有一个条目。MAX 表示未指定上限。实现可以自由选择适合其环境的上限。
这意味着限制将取决于实施。本 CA将使用 150 个备用名称签署证书,因此可以推测某物将会与许多人合作。
答案2
我尝试了一下,发现 Subj Alt Name 中的单个 DNS 名称似乎限制为 36 个字符
当我使用 openssl 创建自签名证书时,我们使用了这个配置
[req_ext]
subjectAltName = @alt_names
[alt_names]
DNS.1= *.somedomain.com
DNS.2= x111us-somedomain-com-1888222111.us-east-1.elb.amazonaws.com
从浏览器查看时显示
Extension: Subject Alternative Name (2.5.29.17)
Critical: NO
DNS Name: *.test.com
DNS Name: x111us-somedomain-com-1851944707.us-
第二个 DNS x111us-somedomain-com-1851944707.us- 缺少一些字符(这里有一些缺少的字符***)