Android Studio, javax.net.ssl.SSLHandshakeException: 不可接受的证书
创始人
2024-08-17 00:00:26
0

解决javax.net.ssl.SSLHandshakeException异常的一种常见方法是禁用证书验证。这在开发和测试阶段非常有用,但在生产环境中不推荐使用。下面是一个示例代码,演示了如何禁用证书验证:

import javax.net.ssl.*;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

public class SSLUtils {

    public static void disableCertificateValidation() {
        try {
            // 创建一个信任所有证书的TrustManager
            TrustManager[] trustAllCerts = new TrustManager[] {
                new X509TrustManager() {
                    public X509Certificate[] getAcceptedIssuers() {
                        return new X509Certificate[0];
                    }

                    public void checkClientTrusted(X509Certificate[] certs, String authType) {
                    }

                    public void checkServerTrusted(X509Certificate[] certs, String authType) {
                    }
                }
            };

            // 获取SSLContext实例
            SSLContext sslContext = SSLContext.getInstance("TLS");

            // 初始化SSLContext
            sslContext.init(null, trustAllCerts, new java.security.SecureRandom());

            // 获取HttpsURLConnection的默认SSLSocketFactory
            SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();

            // 设置默认SSLSocketFactory
            HttpsURLConnection.setDefaultSSLSocketFactory(sslSocketFactory);

            // 忽略主机名验证
            HostnameVerifier allHostsValid = new HostnameVerifier() {
                public boolean verify(String hostname, SSLSession session) {
                    return true;
                }
            };

            // 设置默认HostnameVerifier
            HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用上述代码,您可以在应用程序的启动代码中调用SSLUtils.disableCertificateValidation()方法来禁用证书验证。但请注意,在生产环境中,强烈建议仔细验证服务器证书以确保安全性。

相关内容

热门资讯

透明了解!赣湘互娱透视挂,哈糖... 透明了解!赣湘互娱透视挂,哈糖大菠萝挂-固有有挂开挂辅助插件1、下载安装好赣湘互娱透视挂,进入游戏主...
实测必看!中至窝龙辅助,约战竞... 您好:约战竞技场辅助器这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌...
玩家必看分享!传送屋没激k辅助... 玩家必看分享!传送屋没激k辅助器下载,反杀新大厅辅助(有挂开挂辅助挂);无需打开直接搜索打开薇:13...
透视规律!微信小程序多功能辅助... 透视规律!微信小程序多功能辅助,来玩app破解-一向有挂开挂辅助挂;无需打开直接搜索薇:136704...
科技介绍!菠萝辅助平台,心悦填... 科技介绍!菠萝辅助平台,心悦填大坑辅助(有挂开挂辅助平台);无需打开直接搜索打开薇:13670430...
透明讲解!同城游修改器,We ... 透明讲解!同城游修改器,We poker辅助器下载-原先有挂开挂辅助平台;无需打开直接搜索加薇136...
总算了解!家乡大贰小程序辅助器... 总算了解!家乡大贰小程序辅助器,开心泉州免费辅助器(有挂开挂辅助工具);无需打开直接搜索加(薇:13...
透视模拟器!重要科技阿拉斗牌辅... 透视模拟器!重要科技阿拉斗牌辅助,德州真人透视脚本-原本有挂开挂辅助工具;无需打开直接搜索打开薇:1...
今日头条!随意玩第三方辅助,同... 今日头条!随意玩第三方辅助,同城游辅助工具(有挂开挂辅助神器)1、下载安装好随意玩第三方辅助,进入游...
透视苹果版!新西楚辅助器,拱趴... 您好:新西楚辅助器这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别...