Android Studio - 服务器证书过期导致抛出“错误:原因:无法找到请求目标的有效证书路径”。
创始人
2024-08-15 22:30:15
0

当使用Android Studio进行网络请求时,有时会遇到服务器证书过期的问题,导致抛出“错误:原因:无法找到请求目标的有效证书路径”的异常。以下是一种解决方法,其中包含了代码示例。

解决方法:

  1. 创建一个自定义的SSLSocketFactory类,用于处理证书验证的问题。在该类中,我们可以重新实现验证服务器证书的逻辑。
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;

public class CustomSSLSocketFactory {
    public static void disableCertificateValidation() {
        try {
            TrustManager[] trustAllCerts = new TrustManager[]{
                    new X509TrustManager() {
                        public X509Certificate[] getAcceptedIssuers() {
                            return new X509Certificate[0];
                        }
                        public void checkClientTrusted(X509Certificate[] certs, String authType) throws CertificateException {}
                        public void checkServerTrusted(X509Certificate[] certs, String authType) throws CertificateException {}
                    }
            };

            SSLContext sc = SSLContext.getInstance("TLS");
            sc.init(null, trustAllCerts, new SecureRandom());
            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());

            HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
                public boolean verify(String hostname, SSLSession session) {
                    return true;
                }
            });
        } catch (NoSuchAlgorithmException | KeyManagementException e) {
            e.printStackTrace();
        }
    }
}
  1. 在进行网络请求之前,调用CustomSSLSocketFactory类的disableCertificateValidation()方法,禁用证书验证。
CustomSSLSocketFactory.disableCertificateValidation();

// 进行网络请求的代码示例
URL url = new URL("https://example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
...

通过以上方法,我们可以禁用Android Studio对服务器证书的验证,从而解决"错误:原因:无法找到请求目标的有效证书路径"异常。请注意,禁用证书验证存在安全风险,请在安全可靠的环境中使用。

相关内容

热门资讯

透视系统!wepoker透视脚... 透视系统!wepoker透视脚本免费app,固有是有挂(透视)解密教程(有挂规律)亲,关键说明,we...
透视规律!wepokerplu... 透视规律!wepokerplus外挂,先前是真的有挂(透视)可靠教程(有挂解说);小薇(透视辅助)致...
透视黑科技!werplan外卦... 透视黑科技!werplan外卦神器,来玩app 德州 辅助,攻略教程(有挂细节)1、玩家可以在来玩a...
透视模拟器!佛手在线大菠萝为什... 透视模拟器!佛手在线大菠萝为什么都输,pokemmo手机脚本,实用技巧(有挂规律)1、游戏颠覆性的策...
透视软件!poker辅助器免费... 透视软件!poker辅助器免费安装,原生是真的有挂(透视)软件教程(有挂攻略)1、poker辅助器免...
透视神器!xpoker辅助怎么... 透视神器!xpoker辅助怎么用,pokemmo辅助官网,安装教程(有挂攻略)1、很好的工具软件,可...
透视好友房!wepoker游戏... 透视好友房!wepoker游戏的安装教程,原生真的是有挂(透视)细节揭秘(有挂方法)1、打开软件启动...
透视软件!拱趴大菠萝作弊方法,... 透视软件!拱趴大菠萝作弊方法,xpoker辅助工具,曝光教程(有挂脚本);透视软件!拱趴大菠萝作弊方...
透视辅助!wpk真吗,原生是有... 透视辅助!wpk真吗,原生是有挂(透视)必赢教程(有挂工具)1、wpk真吗机器人多个强度级别选择2、...
透视智能ai!佛手大菠萝13道... 透视智能ai!佛手大菠萝13道挂哪里,智星德州插件最新版本更新内容详解,插件教程(有挂黑科技);1、...