购买证书时的命名约定是什么(如果有)?
当为特定服务器购买 TLS/HTTPS 证书时,我自然会默认服务器的名称。例如,如果服务器名为 MOONSERVER,我会将x509 证书的主题设置为 MOONSERVER。
此外,我需要使用另一个证书进行消息签名。我应该怎么称呼这个?有效名称的规则是什么?例如,连字符、下划线等可以吗?名称区分大小写吗?
当您购买这些证书时,这些字段的内容可能会受到证书卖家的用户界面的控制,该用户界面有望对您输入的值进行一些健全性检查。
您应在“主题”字段中放置的信息取决于应用程序等。
HTTPS 只是 HTTP over TLS 的一种实现,受 RFC 2818 管理,该 RFC 2818 规定服务器标识必须使用主题备用名称(SAN) 扩展的dnsName字段(如果存在)。
CA/浏览器论坛是一个由商业 CA 和浏览器供应商组成的联盟,它添加了更严格的约束,并期望服务器标识仅使用 SAN 扩展(即,不检查主题字段中的任何服务器 DNS 名称)。因此,如果您有一个 Web 应用程序,其中最终用户使用通用 Web 浏览器(几乎是我们所有人),那么您将需要遵循 CA/B 论坛要求,并在 SAN 中拥有主机的 DNS 名称。
请注意,TLS 本身没有定义任何名称限制,因此使用 TLS 的其他应用程序可能有不同的要求。X.509 证书的非 TLS 使用(例如代码签名)也是如此。RFC 6125 中提供了有关 DNS 名称解释的指导。
管理字符等方面可接受的规则位于定义这些证书的文档中。RFC 5280 用于 Internet 上使用的证书,X.509 用于所有证书(包括 Internet 上使用的证书)。后者指的是许多文档,例如 X.500、X.501、X.520、X.521 和 X.680。
X.520 第 6 节定义了许多可以在“主题”字段中使用的属性。这是一本令人兴奋的睡前读物,所以如果您没有时间,请坚持阅读PrintableString类型的基本字符:
A..Z a..z 0..9 (space)'()+,-./:=?
Run Code Online (Sandbox Code Playgroud)
这在政治上可能不正确,因为大多数非英语语言不会被涵盖。另一种方法是使用utf8String类型,它包含世界上大多数字符。
归档时间: |
|
查看次数: |
2013 次 |
最近记录: |