Sap*_*ire 44 ssl keytool ssl-certificate x509certificate
我正在使用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)
请帮忙!谢谢!
Bru*_*uno 63
虽然这个问题更具体地涉及Subject Alt中的IP地址.名称,命令类似(使用DNS主机名IP条目和IP地址条目).
引用自己:
如果您正在使用
keytool,从Java 7开始,keytool可以选择包含主题备用名称(请参阅-ext文档中的表格):您可以使用-ext san = dns:www.example.com或-ext SAN = IP:10.0.0.1
请注意,您只需要Java 7 keytool即可使用此命令.准备好密钥库后,它应该与以前版本的Java一起使用.
(这个答案的其余部分也提到了如何使用OpenSSL执行此操作,但它似乎并不是您正在使用的.)
小智 23
可以使用keytool附加参数指定IP和DNS -ext SAN=dns:abc.com,ip:1.1.1.1
例:
keytool -genkeypair -keystore <keystore> -dname "CN=test, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown" -keypass <keypwd> -storepass <storepass> -keyalg RSA -alias unknown -ext SAN=dns:test.abc.com,ip:1.1.1.1
Run Code Online (Sandbox Code Playgroud)
小智 6
生成CSR时,可以再次指定-ext属性以将其插入CSR中
keytool -certreq -file test.csr -keystore test.jks -alias testAlias -ext SAN=dns:test.example.com
Run Code Online (Sandbox Code Playgroud)
此处的完整示例:如何使用keytool使用SAN创建CSR
| 归档时间: |
|
| 查看次数: |
118175 次 |
| 最近记录: |