问题标签 [sslhandshakeexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
4555 浏览

java - jdk.certpath.disabledAlgorithms=MD2 (javax.net.ssl.SSLHandshakeException)

我的代码运行良好,没有任何异常,我最近连接到服务器,在我的代码中我只是更改了服务器主机名、用户名和密码。我得到了以下异常

当我用谷歌搜索时,我发现我们必须更改Java\jre7\lib\security\java.security我引用此链接的文件,请单击此处

但是如果我们开发一个客户端应用程序,这个解决方案就不够好。有没有更好的方法来解决这个问题。

任何帮助都是可观的

0 投票
1 回答
18897 浏览

ssl - SSLHandshakeException:收到致命警报:在 tomcat 7 服务器上设置密码时握手失败

我有一个 Tomcat7 网络服务器,我尝试通过将此连接器添加到server.xml文件中来将其配置为接受安全连接:

我正在使用使用此命令生成的自签名证书:

在客户端,我有一个使用RestTemplate. 在应用程序上下文启动时,我以restTemplate这种方式初始化实例:

MyCustomClientHttpRequestFactory 类如下所示:

直到这里一切正常。当我在 SslThumbprintVerifier 类中设置断点时,代码到达了这一点,也到达了 NullHostNameVerifier 类。这在生产中经过测试并且效果很好。

现在我想通过限制密码套件来扩展安全性,并将这个属性添加到我在开头介绍的连接器中:

现在,当我运行客户端代码时,我得到了这个异常:

这发生在restTemplate.doExecute()方法中。代码不会像添加密码之前那样到达指纹验证器类或主机名验证器类。

在调试中,我检查了ctx.getSocketFactory().getSupportedCipherSuites()显示:

并检查ctx.getSocketFactory().getDefaultCipherSuites()

最后是ctx.getSupportedSSLParameters().getCipherSuites()

据我了解,如果客户端支持/启用的密码套件与服务器支持的密码套件之间存在交集,它应该可以工作(例如,我们有这样的交集SSL_RSA_WITH_RC4_128_SHA)。然而我得到了这个错误。

在下一步中,我添加了这个 java 参数:

日志只显示了 client-hello,没有 server-hello 响应:

从 server.xml 中删除密码时,它会再次起作用。 另外我会提到我正在同一台机器上测试服务器和客户端。我尝试将客户端请求中的服务器 ip 设置为“localhost”和实际的机器 ip,但在这两种情况下都不起作用。此外,我让这台服务器在不同的 linux 机器上运行(密钥库是在带有 linux 路径的 linux 机器上生成的)并且仍然 - 它在没有密码的情况下工作并且停止使用密码。

0 投票
0 回答
184 浏览

ssl - 为什么在同一会话中进行 SSL 握手后需要 SSL 证书?

我的问题完全基于 Https 连接。
场景如下:
假设我连接到https://www.example.com并且在接受 SSL 证书后,我登录到同一个站点并且会话被建立。然后我从浏览器中删除证书并尝试进一步浏览同一站点,然后我的浏览器要求接受同一站点的证书。为什么这样?

据我所知,在 SSL 握手之后,当生成密钥时,该密钥用于该会话的所有加密。我认为与服务器建立会话后不需要证书。那么为什么我的浏览器在已建立的会话之间要求证书。

0 投票
5 回答
109978 浏览

java - 如何使因“SSL 对等方错误关闭”而导致 SSL 连接失败的 Java 6 像 Java 7 一样成功?

我看到来自运行 Java 6 的客户端的 SSL 连接失败,出现如下异常:

该服务器是一个基于 Tomcat 7 的应用程序,在 Java 7、Linux 和 Amazon EC2 上运行,物有所值。

我发现了很多关于可能原因的建议,包括意外连接到非 SSL 端口等。我相信我已经排除了这一切,主要是因为完全相同的客户端在运行 Java 7 时工作而没有任何变化。(在这两种情况下都是 OS X。)

下面我包括 Java 6 和 Java 7 的 SSL 连接过程的调试输出。我对专家的问题是,这是否表明可以在 Java 6 中启用某些可能的密码或协议设置(可能是 Java 7 中的默认设置)以使其工作

爪哇 6:

爪哇 7:

0 投票
1 回答
1832 浏览

openssl - BIO_do_handshake() 总是返回 0

我从这里写这段代码

但是 BIO_do_handshake() 总是返回 0 为什么?

证书很好!!

有任何想法吗 ??

请帮我..

谢谢

0 投票
1 回答
2923 浏览

android - Android 模拟器 http-proxy SSL 握手失败

我设置了一个本地 HTTP 代理,用于调试来自我的 Android 应用程序的 .json 请求和响应数据。我使用命令行选项将它部署到运行 Android 4.2.2 的 Nexus One 模拟器映像-http-proxy http://localhost:8888。我正在使用库存 ADT Build:v21.1.0-569685。我可以使用我使用 groovy 运行的以下代码片段来验证 HTTP 代理是否可以处理 HTTPS 连接:

这个片段很好地获取了 HTTPS 资源,记录了未加密的请求和响应,并且运行良好。从配置为将其用作代理的浏览器访问 HTTPS 资源时,该代理也可以工作,因此我很确定问题不在于代理。根据证书,您可以知道我正在使用 mitmproxy,但此代码也适用于 OWASP ZAP 代理。但是对于任一代理,在 Android 映像上安装适当的 CA 根证书后,来自映像的 HTTPS 请求将失败,并在 mitmproxy 事件日志中记录以下事件:

在 Android 端,抛出以下异常:

其他 HTTP 请求按预期记录和记录。为了成功完成与 HTTP 代理的 SSL 握手,我在 Android 映像的 SSL 设置中缺少什么?

0 投票
3 回答
8550 浏览

java - 无法使用 java 连接到 HTTPS url

我想使用 java 读取安全 url (HTTPS)。我正在尝试以下。它给了我

这给了我以下输出。

请给我建议什么可以解决错误。注意:我将无法获得证书。所以请不要在获得安全证书时给出答案。

任何形式的指导将不胜感激。谢谢

0 投票
1 回答
3304 浏览

java - 尝试发送到 SSLServerSocket 时出现 SSLSocket 异常握手错误

这是我第一次处理 SSLSockets ,

我创建了 SSLServerSocket 和 SSLSocket ,

ServerSocket 运行正常,但是在尝试运行 SSLSocket (Client) 时,它没有运行,并且这个错误出现在我身上:

严重:null javax.net.ssl.SSLHandshakeException:收到致命警报:sun.security.ssl.Alerts.getSSLException(Alerts.java:192)处 sun.security.ssl.Alerts.getSSLException(Alerts.java:154)处的 handshake_failure在 sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1961) 在 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1077) 在 sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312 ) 在 sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339) 在 sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323) 在 chat.SS.(SS.java:45) 在聊天。 SS.main(SS.java:70)

这是 SSLServerSocket 类的代码:

以及运行时出现错误的 SSLSocket(客户端):

所以我忘了为客户班做些什么?

谢谢你,

编辑 1:我启用了调试,这是调试:

0 投票
1 回答
5433 浏览

axis2 - WSDL2Java 证书错误

使用 Apache Axis2 中包含的 WSDL2Java.bat 从在线 SOAP WSDL 服务生成 .java 文件,但是我收到有关某些证书的错误。我不知道这是从哪里来的,它应该按照我得到的指示工作。

有人对问题可能是什么或我应该从哪里开始寻找有任何暗示吗?

谢谢

0 投票
2 回答
13141 浏览

java - SSL 握手错误 javax.net.ssl.SSLHandshakeException 收到致命警报 bad_certificate

我正在执行以下 cURL 命令,并且从服务器得到正确的响应:

现在通过我的 CXF soap webClient 做同样的事情,我得到了以下异常:

我已使用以下命令将主机 xevias.com:8481 的证书导入我的 keyStore:

请让我知道如何使用密钥导入证书,以便 cURL 命令中的所有内容都可以安装在相应的位置。