如何使用keytool使用SAN创建CSR

时间:2015-06-10 11:39:35

标签: certificate keytool

我想问一下是否可以创建包含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的一些选项?

1 个答案:

答案 0 :(得分:19)

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

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