SSL 服务器证书的扩展

信息安全 tls 证书 公钥基础设施 x.509 openssl
2021-08-29 04:44:51

我对 X.509 v3 扩展有一些疑问。SSL 服务器的正确证书中应该出现哪些扩展?

2个回答

SSL 服务器证书中不需要扩展,但某些扩展只能提供帮助:

  • 扩展Authority Key Identifier将帮助客户端将证书与颁发 CA 链接。
  • 应使用CRL Distribution Points扩展名(非关键)指向应找到 CRL 的 URL。
  • 扩展Authority Information Access可用于包含指向颁发 CA 本身的证书的指针 (URL);如果适用,相同的扩展可以指向 OCSP 响应者。
  • 如果使用了Key Usage扩展,它应该包括一些标志:对于 RSA 密钥与 TLS_RSA_* 密码套件一起使用,keyAgreement对于RSA 和 DSA 密钥与 TLS_DHE_* 密码套件一起使用(关于是否应该在基于 RSA 的密钥交换的情况,因此包含两个标志是最安全的)。keyEnciphermentdigitalSignaturekeyAgreementkeyEncipherment
  • 如果您有正式定义的证书策略,则在路径中的所有证书中包含指向它的指针(OID + 下载 URL),或者至少是 SSL 服务器证书本身:如果出现争议,它将为您提供一些法律保护。
  • Subject Alt Name应使用扩展名来指示 SSL 服务器名称在没有这样的扩展的情况下,所有浏览器都将回退到 subjectDN 的 CN 组件,但这个扩展在名义上仍然是“首选”(有关详细信息,请参阅RFC 2818)。

当然,所有这些扩展都应该由颁发的 CA 强制执行,所以如果您已经拥有 CA,这里应该没有额外的问题。

如有疑问,请查阅Internet X.509 PKI Profile个人资料定义了您应该在道德上遵循的内容。如果您完全符合它,您的证书将在任何地方都有效。浏览器实际上比这要宽松得多。