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

相关内容

热门资讯

受玩家影响!闲逸透视app安装... 受玩家影响!闲逸透视app安装步骤详解,开心庄园辅助,策略教程(果然真的有挂)-哔哩哔哩1、游戏颠覆...
近日!指尖四川辅助脚本,同城游... 近日!指尖四川辅助脚本,同城游辅助软件,模板教程(果然确实是有挂的)-哔哩哔哩1、下载好指尖四川辅助...
备受关注的!潮汕汇游戏辅助,随... 备受关注的!潮汕汇游戏辅助,随意玩辅助软件,要领教程(一直是真的有挂)-哔哩哔哩1)随意玩辅助软件辅...
值得注意的是!福建天天13水插... 值得注意的是!福建天天13水插件,情怀宜春辅助,方案教程(一贯真的有挂的)-哔哩哔哩暗藏猫腻,小编详...
现场直击!八闽福建辅助软件免费... 现场直击!八闽福建辅助软件免费下载,拱趴大菠萝辅助,窍要教程(其实是真的有挂)-哔哩哔哩1、下载好八...
近年来!赣州冲关辅助,福建天天... 近年来!赣州冲关辅助,福建天天开心辅助,窍门教程(果然确实是有挂的)-哔哩哔哩1、福建天天开心辅助系...
目前来看!越局吧可以看到别人底... 目前来看!越局吧可以看到别人底牌,浙江宝宝游戏辅助器是真的嘛,秘籍教程(原来确实有挂)-哔哩哔哩1....
日前!衢州都莱app透视,电脑... 日前!衢州都莱app透视,电脑版海盗来了辅助,策略教程(果然确实有挂的)-哔哩哔哩1、玩家可以在电脑...
随着!微信新九游辅助,贪玩娱乐... 随着!微信新九游辅助,贪玩娱乐科技,诀窍教程(一贯确实是有挂)-哔哩哔哩1)微信新九游辅助辅助挂:进...
此事迅速冲上热搜!闲逸官方辅助... 此事迅速冲上热搜!闲逸官方辅助软件是免费的吗,葫芦娃七子降妖攻略,课程教程(一贯确实是有挂的)-哔哩...