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

SSLHandshakeException-%%无效:[Session-1,SSL_RSA_WITH_3DES_EDE_CBC_SHA]

子车峰
2023-03-14

main,处理异常:javax.net.ssl.sslHandShakeException:收到致命警报:handshake_failure

我已经搜索了足够多并尝试了:-dhttps.protocols&-dhttps.ciphersuites选项&它们似乎都不起作用。

我还检查了:

getDefaultCipherSuites(),它列出了错误中声明的密码。

我和

openssl s_client-connect URL:443

但它会抛出一个错误:

验证错误:num=20:无法获取本地颁发者证书

验证返回:0

58555:错误:14094410:SSL例程:SSL3_READ_Bytes:SSLv3警报握手失败:/sourceCache/openSSL098/openSSL098-52.30.1/src/ssl/s3_pkt.c:1145:SSL警报编号40

58555:错误:140790E5:SSL例程:SSL23_Write:SSL握手失败:/sourceCache/openSSL098/openSSL098-52.30.1/src/ssl/s23_lib.c:185:

感谢在这方面的快速帮助和指导。

    public NewHttpClient(KeyStore keyStore, String pwd, Integer maxTotal, Integer defaultMaxPerRoute) throws KeyManagementException, UnrecoverableKeyException,
NoSuchAlgorithmException, KeyStoreException {
    HttpClientBuilder builder = HttpClientBuilder.create();
    SSLContext sslContext = SSLContexts.custom().loadKeyMaterial(keyStore, pwd.toCharArray()).build();
    builder.setSSLContext(sslContext);
    SSLConnectionSocketFactory sslConnectionFactory = new SSLConnectionSocketFactory(sslContext);
    builder.setSSLSocketFactory(sslConnectionFactory);
    Registry<ConnectionSocketFactory> schemeRegistry = RegistryBuilder.<ConnectionSocketFactory> create().register("http", PlainConnectionSocketFactory.getSocketFactory())
            .register("https", SSLConnectionSocketFactory.getSocketFactory()).build();
    PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(schemeRegistry);
    connectionManager.setMaxTotal(maxTotal);
    connectionManager.setDefaultMaxPerRoute(defaultMaxPerRoute);
    builder.setConnectionManager(connectionManager);
    customHttpClient = builder.build();
}

更新1:当我使用SOAP-UI中的keystore时,它简单地工作,没有任何问题。这是java方法中唯一的问题!

更新2:我已经尝试了3个JVM6、7和8,但是问题仍然存在。此外,我尝试从普通java代码而不是spring创建SSL连接&能够成功地进行握手而没有任何问题。

共有1个答案

终育
2023-03-14

我看到这是一个基于我的更新2的Spring问题。所以我改变了我的方法,使用

org.springframework.ws.transport.http.HttpSurlConnectionMessageSender

&瞧,它没有任何问题。

我不得不从一个新的maven jar中导入上面的类:

  <dependency>
        <groupId>org.springframework.ws</groupId>
        <artifactId>spring-ws-support</artifactId>
        <version>2.2.0.RELEASE</version>
    </dependency>
 类似资料:
  • 本文向大家介绍php Session无效分析资料整理,包括了php Session无效分析资料整理的使用技巧和注意事项,需要的朋友参考一下 php Session无效分析 PHP开发过程中,可能有朋友经常会遇到Session所产生的文件无法自动清除的问题,其实并非真的无法清除,而是有一个概率问题,只要你的站点访问量足够大,那些文件就可以自动被清除掉。如果访问量比较少,又看那些文件不顺眼的话,只要在

  • 本文向大家介绍thinkphp中session和cookie无效的解决方法,包括了thinkphp中session和cookie无效的解决方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkphp中session和cookie无效的解决方法。分享给大家供大家参考。具体分析如下: 问题描述: 在本地调试时session和cookie是用没有问题的,我是用session保存当前登录账

  • 当我在Kubuntu 17.04上使用Ionic 3安装了Java8时,我在签署一个Ionic android apk时遇到了这个错误 我得到的错误是: java版本 我已经安装了Android Studio,它运行良好,我测试了应用程序源代码,它在模拟器上运行没有问题。

  • 我有一个奇怪问题,我无法解决。 我有JDK1.5版本和基于SSL的通信通过套接字,简单地发送和接收字符串数据。

  • 本文向大家介绍理解PHP中的Session及对Session有效期的控制,包括了理解PHP中的Session及对Session有效期的控制的使用技巧和注意事项,需要的朋友参考一下 0.什么是session?        Session的中文译名叫做“会话”,其本来的含义是指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session。目前社会上对

  • 问题内容: 在为我的sql动态生成子句时,我喜欢将代码硬编码到sql中,因此不必跟踪是否在每个后面的子句之前添加前缀。这在很多地方都有很好的文档证明,例如stackoverflow问题。 是否存在用于动态生成语句子句的等效模式?我宁愿跟踪是否需要加逗号。如果没有通用的解决方案,这将用于通过jdbc与oracle数据库进行交互。 编辑对于我的特定用例,我将需要动态地更改要设置的列。因此,任何需要查询