相关疑难解决方法(0)

使用okHttp信任所有证书

出于测试目的,我正在尝试将套接字工厂添加到我的okHttp客户端,该客户端在设置代理时信任所有内容.这已经完成了很多次,但是我对一个信任套接字工厂的实现似乎缺少了一些东西:

class TrustEveryoneManager implements X509TrustManager {
    @Override
    public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException { }

    @Override
    public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType) throws CertificateException { }

    @Override
    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
        return null;
    }
}
OkHttpClient client = new OkHttpClient();

final InetAddress ipAddress = InetAddress.getByName("XX.XXX.XXX.XXX"); // some IP
client.setProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(ipAddress, 8888)));

SSLContext sslContext = SSLContext.getInstance("TLS");
TrustManager[] trustManagers = new TrustManager[]{new TrustEveryoneManager()};
sslContext.init(null, trustManagers, null);
client.setSslSocketFactory(sslContext.getSocketFactory);
Run Code Online (Sandbox Code Playgroud)

没有请求从我的应用程序发出,并且没有异常被记录,因此它似乎在okHttp中无声地失败.经过进一步调查,似乎Connection.upgradeToTls()在强制握手时,okHttp中有一个异常被吞没.我得到的例外是:javax.net.ssl.SSLException: SSL handshake terminated: ssl=0x74b522b0: SSL_ERROR_ZERO_RETURN occurred. You …

ssl android android-networking okhttp

95
推荐指数
6
解决办法
8万
查看次数

SSL握手异常改造android

基本网址从 http:// 更改为 https:// 后,我突然遇到异常异常。每次我使用 https:// 点击 API 时,我都会看到日志闪烁“HTTP 失败:javax.net.ssl.SSLHandshakeException:java.security.cert.CertPathValidatorException:未找到证书路径的信任锚。” 这个错误。

我认为大多数时候都是 Retrofit 自动导入证书(因为我已经尝试使用 Retrofit 连接 https:// 多次。我之前没有遇到过这个问题)

ssl android android-ion retrofit retrofit2

5
推荐指数
1
解决办法
2万
查看次数

如何忽略Okhttp中的SSL错误?

我已经安装并打开PacketCapture,然后当我使用Okhttp向服务器请求API时,出现此异常。

javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
Run Code Online (Sandbox Code Playgroud)

是否可以忽略SSL错误?

java ssl android okhttp

1
推荐指数
1
解决办法
3771
查看次数