我正在尝试保护我的eXist-db应用程序,这意味着我想要打开的唯一端口应该是8443(用于使用WebDAV和管理员应用程序)。这是eXist-db自安装以来已打开的基本安全端口。它使用自签名证书。使用新证书替换默认证书没有问题,但问题是我无法使用CA签名证书执行此操作。
我试过了:
sudo rm eXist-db/tools/jetty/etc/keystore
cat ServerCertificate.crt Alpiro-TrustProvider-IntermediateCA.crt Root.cer > cert-chain.txt
openssl pkcs12 -export -inkey my-app.key -in cert-chain.txt -out my-app.pkcs12
keytool -importkeystore -srckeystore my-app.pkcs12 -srcstoretype PKCS12 -destkeystore eXist-db/tools/jetty/etc/keystore
重新启动后,我检查了连接:openssl s_client -connect xx.xx.xxx.xxx:8443
,一切似乎都很好。我可以看到我的可信证书和连接(handshake
)只是有效。但是,浏览器仍然声称它不是可信连接。
当我尝试通过XQuery检查https上的内容时,它会抛出:
java.security.cert.CertificateException: No subject alternative names matching IP address xx.xx.xxx.xxx found …
答案 0 :(得分:1)
解决方案非常简单。问题是我一直试图通过IP访问该网站,而不是通过完全合格的域名。证书与域名相关联,而不是IP!