gpt4 book ai didi

java - Lollipop 握手失败

转载 作者:行者123 更新时间:2023-11-30 02:16:56 27 4
gpt4 key购买 nike

我正在尝试执行 HTTP POST,但出现两个不同的错误:

javax.net.ssl.SSLHandshakeException: Handshake failed
net.ssl.SSLPeerUnverifiedException: No peer certificate

我通过此处指定的解决方法修复了无对等证书错误:https://stackoverflow.com/a/4837230/4254419

但是虽然这修复了错误,但它会抛出一个新错误,即握手失败

我知道它不安全,我不在乎,它不用于生产,所以我不太关心安全性。这个问题有解决办法吗?

最佳答案

我遇到了同样的问题。我找到了一个链接 https://code.google.com/p/android/issues/detail?id=88313我在哪里找到代码:

public class MySSLSocketFactory extends SSLSocketFactory {
SSLContext sslContext = SSLContext.getInstance("TLS");

...

@Override
public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException, UnknownHostException {
final SSLSocket sslSocket = (SSLSocket) sslContext.getSocketFactory().createSocket(socket, host, port, autoClose);
sslSocket.setEnabledCipherSuites(sslSocket.getSupportedCipherSuites());
return sslSocket;
}

@Override
public Socket createSocket() throws IOException {
final SSLSocket sslSocket = (SSLSocket) sslContext.getSocketFactory().createSocket();
sslSocket.setEnabledCipherSuites(sslSocket.getSupportedCipherSuites());
return sslSocket;
}
}

您可以使用您提供的链接中的 MySSLSocketFactory 代码,但您需要重写我上面写的两个方法 createSocket。这也不是最好的解决方案,您以后可能会遇到一些安全问题,因为对于连接它可以使用一些旧的密码算法。

希望这对您有所帮助。

关于java - Lollipop 握手失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29150400/

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