【问题标题】:How to create CSR with SANs using keytool如何使用 keytool 创建带有 SAN 的 CSR
【发布时间】:2015-08-25 15:20:30
【问题描述】:

我想问一下是否可以创建包含 SAN 记录的 CSR。

我将密钥库创建为

keytool -genkeypair -keyalg RSA -keysize 2048 -alias testAlias -ext SAN=dns:test.example.com -keystore test.jks -storetype JKS -dname "CN=test"

我可以使用 keytool 检查 SAN 是否在密钥库中

keytool -list -v -keystore test.jks

输出的相关部分是

#1: ObjectId: 2.5.29.17 Criticality=false
SubjectAlternativeName [
  DNSName: test.example.com
]

然后我使用 keytool 创建了 CSR:

keytool -certreq -file test.csr -keystore test.jks -alias testAlias

但在 CSR 中,缺少有关 SAN 的信息。

如何检查:

keytool -printcertreq -file test.csr -v

应该有类似的东西

Extension Request:

#1: ObjectId: 2.5.29.17 Criticality=false
SubjectAlternativeName [
  DNSName: test.example.com
]

我错过了certreq 的一些选项吗?

【问题讨论】:

    标签: certificate keytool


    【解决方案1】:

    生成 CSR 时需要再次指定 -ext 属性

    keytool -certreq -file test.csr -keystore test.jks -alias testAlias -ext SAN=dns:test.example.com
    

    【讨论】:

    • 使用多个 DNS 甚至 IP 也是可能的,例如:-ext "san=dns:test.example.com,dns:test.example.net,dns:test2.example.com,ip: XX.XXX.XX.XXX" 创建 CSR 文件对我有用...只需要获取我的证书以确保一切正常
    • 另外请注意,对 CSR 的响应也可以为您覆盖内容,以便 CSR 签名者可以将 SAN 放入其中,并管理证书的其他属性。
    猜你喜欢
    • 2014-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-19
    • 1970-01-01
    • 2016-06-27
    • 2014-08-18
    • 2023-03-24
    相关资源
    最近更新 更多