要跳过 Android HttpUrlConnection 的证书验证,可以使用以下代码:

TrustManager[] trustAllCerts = new TrustManager[] { 
    new X509TrustManager() {     
        public java.security.cert.X509Certificate[] getAcceptedIssuers() { 
            return new X509Certificate[0];
        } 
        public void checkClientTrusted( 
            java.security.cert.X509Certificate[] certs, String authType) {
            }
        public void checkServerTrusted( 
            java.security.cert.X509Certificate[] certs, String authType) {
        }
    } 
}; 

try {
    SSLContext sslContext = SSLContext.getInstance('SSL');
    sslContext.init(null, trustAllCerts, new java.security.SecureRandom());
    HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());
} catch (Exception e) {
    e.printStackTrace();
}

这会创建一个 TrustManager 数组,它接受所有的证书。然后,将这个 TrustManager 数组与 SSLContext 关联,并将它设置为默认的 SSLSocketFactory。这样,连接就会跳过证书验证。

注意: 跳过证书验证可能会导致安全漏洞,因此应该谨慎使用。

Android HttpUrlConnection 跳过证书验证指南

原文地址: https://www.cveoy.top/t/topic/odUA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录