Java SSL证书-不存在受试者备选名称
我试图生成自签名SSL证书,但在cas sso中出现以下错误:Java SSL证书-不存在受试者备选名称,java,ssl,ssl-certificate,cas,Java,Ssl,Ssl Certificate,Cas,我试图生成自签名SSL证书,但在cas sso中出现以下错误: java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present 我使用的是open jdk 7,并使用了以下命令: keytool-genkey-alias axyz-keypass changeit-keyal
java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present
我使用的是open jdk 7,并使用了以下命令:
keytool-genkey-alias axyz-keypass changeit-keyalg RSA-ext san=ip:192.168.1.4
keytool-export-alias axyz-keypass changeit-file axyz.crt
keytool-import-file axyz.crt-alias axyz-keystore/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/security/cacerts
主机名:vaapdev
内部ip地址:192.168.1.4
公共IP地址:108.51.62.36
我不确定哪里出了问题,我尝试了192.168.1.4和108.51.62.36 in-ext
尝试不使用-ext参数。使用主机名时,可能会退回到服务器证书的使用者DN中的公用名称,而不是使用使用者替代名称 使用IP地址时,证书中必须有一个使用者备选名称条目(类型为IP地址,而不是DNS名称)
您将在此处找到有关规范和如何生成此类证书的更多详细信息:您可以在此处执行两项操作,即更改自签名证书中的CN名称以与您运行应用程序的域相匹配(如果是localhost,则CN名称应为localhost),或者添加所述的主题alt名称下面 请看这个 上述错误意味着您的JKS文件缺少您尝试访问应用程序所需的域。您将需要使用Open SSL和密钥工具添加多个域
echo'[subject\u alt\u name]>>openssl.cnf
echo'subjectAltName=DNS:example.mydomain1.com,DNS:example.mydomain2.com,DNS:example.mydomain3.com,DNS:localhost'>>openssl.cnf
openssl-req-x509-nodes-newkey rsa:2048-config openssl.cnf-extensions subject\u alt\u name-keyout private.key-out self-signed.pem-out subj'/C=gb/ST=edinburgh/L=edinburgh/O=mygroup/OU=service/CN=www.example.com/emailAddress=postmaster@example.com“-365天
openssl pkcs12 -export -keypbe PBE-SHA1-3DES -certpbe PBE-SHA1-3DES -export -in
self-signed.pem -inkey private.key -name myalias -out keystore.p12
keytool -export -keystore keystore.jks -alias myalias -file selfsigned.crt
keytool -export -keystore keystore.jks -alias myalias -file selfsigned.crt
sudo keytool -importcert -file selfsigned.crt -alias myalias -keystore /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/security/cacerts