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对服务器证书的验证,从而解决"错误:原因:无法找到请求目标的有效证书路径"异常。请注意,禁用证书验证存在安全风险,请在安全可靠的环境中使用。

相关内容

热门资讯

今日公布!十点半辅助器功能软件... 今日公布!十点半辅助器功能软件,十点半总是是真的有辅助器软件1、下载好十点半透视辅助下载之后点击打开...
科技分享!冬聚透视挂功能脚本,... 科技分享!冬聚透视挂功能脚本,冬聚真是存在有透视挂脚本一、冬聚游戏安装教程牌型概率发牌机制”必胜“技...
玩家必看科普!新贝壳大厅透视挂... 玩家必看科普!新贝壳大厅透视挂功能技巧,新贝壳大厅原来真的是有透视挂技巧1、玩家可以在新贝壳大厅线上...
六分钟了解!h5游戏辅助器功能... 六分钟了解!h5游戏辅助器功能攻略,h5游戏本来是真的有辅助器攻略1、h5游戏有没有辅助教程、h5游...
研究成果!悠闲娱乐透视挂功能技... 研究成果!悠闲娱乐透视挂功能技巧,悠闲娱乐果然是真的有透视挂技巧进入游戏-大厅左侧-新手福利-激活码...
推荐十款!大圣辅助器功能脚本,... 推荐十款!大圣辅助器功能脚本,大圣总是是有辅助器脚本大圣是不是有人用挂微扑克wpk插件教程:1、微扑...
推荐一款!海盗来了辅助器功能神... 您好,海盗来了这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家在这款...
发现玩家!同城乐吧透视挂功能神... 发现玩家!同城乐吧透视挂功能神器,同城乐吧都是是有透视挂神器1)同城乐吧有没有挂:进一步探索同城乐吧...
必知教程!大热门辅助功能工具,... 必知教程!大热门辅助功能工具,大热门切实有辅助工具1)大热门免费钻石:进一步探索大热门免费脚本大陆,...
重大科普!新茄子辅助功能神器,... 重大科普!新茄子辅助功能神器,新茄子切实有辅助神器1、金币登录送、破产送、升级送、活动送。详细领取联...