【问题标题】:Java Keytool stripping away SAN on CSR generationJava Keytool 在 CSR 生成中剥离 SAN
【发布时间】:2014-02-11 12:27:10
【问题描述】:

使用 JDK 7 中包含的 keytool,我正在创建一个密钥库,其中包括一个带有 SAN 扩展的证书。如果解码证书,我会看到 SAN 扩展。如果我随后使用 keytool 导出 CSR,则 CSR 中缺少 SAN 信息。

什么给了?

更新: 我了解到,如果我想在 CSR 中包含 SAN,我需要在命令 lie 中明确指出 SAN:

keytool -certreq -alias mycertificate -keystore mekeystore.jks -ext san=dns:mydomain.com

也就是说,我一直强调使用 SAN,因为使用我的 OpenSSL CA 签署 CSR 是不必要的复杂。

【问题讨论】:

  • 你能提供你输入的命令列表吗?可以在 CSR 中包含 extensionRequest 属性(例如,包含 SAN 扩展的 extensionRequest 属性),但我不确定 keytool 是否支持此功能。

标签: java ssl ssl-certificate keytool csr


【解决方案1】:

导出 CSR 时不包含 SAN 是正常的。 在生成 CSR 时,您只需提供一个常用名称或域名。

参考这个链接: https://support.globalsign.com/customer/portal/articles/1229769-certificate-signing-request-csr---overview

在从证书颁发机构订购证书的过程中添加了 SAN 或主题备用名称。 SAN 被添加到证书上,而不是 CSR 上。

【讨论】:

  • 证书上的 SAN 正在像单个域名证书一样安装。只要 SAN 包含在证书中,它就会在服务器上受到保护。
  • 你能解释一下为什么这是“正常的”吗?如果我没有 FQDN 并且没有指定 CN,而只有一个带有 SAN 的 IP,那么它应该包含在 CSR 中。
猜你喜欢
  • 2013-07-21
  • 2015-08-25
  • 1970-01-01
  • 2021-10-26
  • 1970-01-01
  • 2013-09-09
  • 2012-10-12
  • 2014-06-26
  • 1970-01-01
相关资源
最近更新 更多