gpt4 book ai didi

java - 来自 Glassfish 的 HttpClient+SSL

转载 作者:太空宇宙 更新时间:2023-11-03 13:56:13 25 4
gpt4 key购买 nike

我正在尝试从受 SSL 保护的网页下载一个简单的网页。我正在为该任务使用 HtmlUnit(它环绕着 HttpClient)。

我要下载的网页有一个由 Verisign 签名的正确证书,并且 Verisign 证书存在于 cacerts 文件中(它首先在那里,但我什至在那里重新导入了整个证书链)。

我的应用程序使用 Glassfish 使用的相同 JVM 作为独立应用程序完美运行。但是,如果我将它部署到 glassfish,我会得到一个典型的证书问题异常:

javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated,
com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:352)
org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:339)
org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:123)
org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:147)
org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:108)
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641)
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:597)
com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:133)
com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection(WebClient.java:1405)
com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1324)
com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:303)
com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:385)

我已经尝试在 glassfish 中禁用安全管理器,但没有帮助。

这种奇怪行为的原因是什么?

提前致谢。

最佳答案

我以为 GlassFish 使用了它自己神奇的 keystore :

http://metro.java.net/guide/Configuring_Keystores_and_Truststores.html

祝你好运!

关于java - 来自 Glassfish 的 HttpClient+SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6423734/

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