gpt4 book ai didi

Tomcat SSL : No trusted certificate found

转载 作者:行者123 更新时间:2023-11-28 21:52:54 26 4
gpt4 key购买 nike

我使用 keytool 创建了一个证书:

keytool -genkey -alias tomcat -keyalg RSA

将其导出并导入到我的 keystore 中:

keytool -export -alias tomcat name.crt
keytool -import -file name.crt

当我执行 keytool -list 时,我有 2 个条目:

tomcat, Sept 15, 2010, keyEntry,
Certificate fingerprint (MD5): ...
mykey, Sept 17, 2010, trustedCertEntry
Certificate fingerprint (MD5):...

请注意,两个条目的指纹是相同的。

我将我的 server.xml 配置为指向我的 .keystore 文件

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="${user.home}/.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS" />

<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />

但是在我的 tomcat 日志中,当我在我的 Java 应用程序中执行操作时,我会看到:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found
...
sun.security.validator.ValidatorException: No trusted certificate found

是否还有其他配置需要完成?

最佳答案

您需要客户端(即浏览器)信任您的服务器证书。

为此,您可以在浏览器中将服务器的证书作为受信任的证书导入,这仅在您控制浏览器时才有效。或者您的证书由受信任的机构签署,这需要花钱。

以不同的名称导出和重新导入没有任何意义。

更新:

我想我开始明白你想做什么了。您希望 Java 客户端通过 https 访问 Web 应用程序。是吗?

在这种情况下,您需要提供一个“信任库”,即包含受信任证书的 keystore 。您需要将系统属性 javax.net.ssl.trustStore 设置为要使用的信任库的名称。

您可能也可以使用手工制作的 TrustManager。该站点似乎提供了相关信息:http://download.oracle.com/javase/1.4.2/docs/guide/security/jsse/JSSERefGuide.html

这个简单的例子也可能有帮助:http://stilius.net/java/java_ssl.php

关于Tomcat SSL : No trusted certificate found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3746353/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com