相关疑难解决方法(0)

如何将主题alernative名称添加到ssl证书?

我正在使用openssl来创建自签名证书.我使用我生成的证书收到此错误:javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException:没有主题替代名称

有没有人知道如何在创建证书时指定"主题备用名称"?这就是我生成密钥库的方式:

sudo $JAVA_HOME/bin/keytool -genkey -dname "CN=192.168.x.xxx, OU=I, O=I, L=T, ST=On, C=CA" -alias tomcat -validity 3650 -keyalg RSA -keystore /root/.keystore -keypass abcd -storepass abcd
Run Code Online (Sandbox Code Playgroud)

要生成密钥:

 openssl s_client -connect 192.168.x.xxx:8443 2>/dev/null
Run Code Online (Sandbox Code Playgroud)

请帮忙!谢谢!

ssl keytool ssl-certificate x509certificate

44
推荐指数
3
解决办法
12万
查看次数

如何使用keytool使用SAN创建CSR

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

我创建了密钥库

keytool -genkeypair -keyalg RSA -keysize 2048 -alias testAlias -ext SAN=dns:test.example.com -keystore test.jks -storetype JKS -dname "CN=test"
Run Code Online (Sandbox Code Playgroud)

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

keytool -list -v -keystore test.jks
Run Code Online (Sandbox Code Playgroud)

和输出的相关部分是

#1: ObjectId: 2.5.29.17 Criticality=false
SubjectAlternativeName [
  DNSName: test.example.com
]
Run Code Online (Sandbox Code Playgroud)

然后我使用keytool创建了CSR:

keytool -certreq -file test.csr -keystore test.jks -alias testAlias
Run Code Online (Sandbox Code Playgroud)

但在CSR中有关于缺少SAN的信息.

如何检查:

keytool -printcertreq -file test.csr -v
Run Code Online (Sandbox Code Playgroud)

正确地应该有类似的东西

Extension Request:

#1: ObjectId: 2.5.29.17 Criticality=false
SubjectAlternativeName [
  DNSName: test.example.com
]
Run Code Online (Sandbox Code Playgroud)

我错过了一些选择certreq吗?

certificate keytool

9
推荐指数
1
解决办法
3万
查看次数