当前位置: 首页 > 知识库问答 >
问题:

javax。网ssl。SSLHandshakeException HttpsURLConnection

于正志
2023-03-14

我得到一个"异常在线程"主"javax.net.ssl.SSLHandshake异常:收到致命警报:handshake_failure"下面的代码。有人知道如何修复它吗?

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLSession;

public class Test {
static {
    System.setProperty("https.protocols", "TLSv1,TLSv1.1,TLSv1.2,SSLv3,SSLv2Hello");
    HostnameVerifier hv = new HostnameVerifier() {
        public boolean verify(String urlHostName, SSLSession session) {
            return true;
        }
    };
    HttpsURLConnection.setDefaultHostnameVerifier(hv);
}

public static void main(String[] args) throws MalformedURLException, IOException {
    HttpURLConnection con = (HttpsURLConnection) new URL("https://www.sureworks.de").openConnection();
    con.connect();
}
}

共有1个答案

莫典
2023-03-14

有些加密相关的东西在默认情况下是不启用的。您需要安装JCE:

  • Java加密扩展(JCE)无限强度管辖权策略文件8下载
  • Java加密扩展(JCE)无限强度管辖权策略文件7下载

PS:SSL实验室让你对你试图访问的服务器有了一些了解https://www.ssllabs.com/ssltest/analyze.html?viaform=on

 类似资料:
  • 我正在尝试打开一个htttps网站。网址是前。https://x.xx.xx.xx/.我已经写了打击代码。 字符串url=”https://x.xx.xx.xx/"; URL obj=新URL(URL); HttpURLConnection con=(HttpURLConnection)obj。openConnection(); //可选的默认值是GETcon.setRequest estmeth

  • 如何纠正jmeter中的以下错误 javax。网ssl。SSLPeerUnverifiedException:对等方未在com上进行身份验证。太阳网ssl。内部的ssl。SSLSessionImpl。组织上的getPeerCertificates(未知源)。阿帕奇。http。康涅狄格州。抽象验证器。在org上验证(AbstractVerifier.java:128)。阿帕奇。http。康涅狄格州。

  • 我正在尝试通过XMPP协议建立一个TLS安全(带有客户端身份验证)连接。我使用的是标准端口,而不是专用SSL端口,这显然是不推荐的。startTLS过程永远不会完成握手。 我收到:javax。网ssl。SSLProtocolException:握手消息序列冲突,2 调试摘录显示我的客户端收到来自服务器的意外消息。证书请求是从服务器发送的,但CA列表为空。 是否有很多事情会导致这种握手违规(2)?什

  • 我正在运行本地服务器(android应用程序中的嵌入式https服务器),它使用。bks(自签名证书类型)。当android应用程序尝试使用ssl连接时,会出现以下错误。在这里,您还可以看到服务器日志,其中打印了启用的密码套件以及启用的协议。当我尝试使用java执行相同的测试用例时,一切都很好。只是,android出现了问题。任何帮助都将不胜感激。Android 7.0版Min SDK:22

  • 我正在编写一个JMeter测试计划,以连接到SSL端口(Tomcat Connector)。在JDK8(1.8.0_51)上使用三个JMeter SSL客户端实现(HttpClient4、HttpClient3.1、Java)中的任何一个连接到SSL端口时,我会收到一个SSLHandshakeExc0019(handshake_failure)。如果我使用JDK7(1.7。0_75)-一切都像预期

  • Java版本1.8.0_121,我看到的解决方案仅适用于Java 9 描述: 我的目标是获取有关项目的信息,比如一个项目的总下载量有一个名为SourceForge Downloads Stats API的API。 所以我创建了一个简单的程序,将结果视为原始文本,我不需要它作为JSON。 例如,我正在获取有关ApacheOpenOffice下载和更多信息- 但是我无法使用获取数据,这是下面错误的原因