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()方法来禁用证书验证。但请注意,在生产环境中,强烈建议仔细验证服务器证书以确保安全性。

相关内容

热门资讯

辅助黑科技!德州ai辅助外挂(... 辅助黑科技!德州ai辅助外挂(ai代打)先前存在有挂(有挂安卓版本)-哔哩哔哩;亲真的是有正版授权,...
黑科技了解!德扑ai软件(黑科... 黑科技了解!德扑ai软件(黑科技ai)真是是有挂(有挂下载)-哔哩哔哩1、点击下载安装,微扑克wpk...
黑科技了解!wpk辅助挂(透视... 黑科技了解!wpk辅助挂(透视)原来是真的有挂(有挂辅助)-哔哩哔哩;实战中需综合运用上述技巧,并根...
黑科技教学!aapoker能玩... 黑科技教学!aapoker能玩吗(辅助挂)竟然是真的有挂(有挂实锤)-哔哩哔哩;实战中需综合运用上述...
黑科技好友房!德州之星有没有外... 黑科技好友房!德州之星有没有外挂(辅助挂)其实是真的有挂(有挂大厅)-哔哩哔哩关于德州之星有没有外挂...
黑科技代打!德州之星app辅助... 黑科技代打!德州之星app辅助器怎么用(智能ai)一向有挂(有挂下载)-哔哩哔哩;实战中需综合运用上...
黑科技好友房!红龙扑克有没有外... 黑科技好友房!红龙扑克有没有外挂(黑科技ai)本然真的有挂(有挂渠道)-哔哩哔哩;红龙扑克有没有外挂...
黑科技辅助!微扑克ai辅助器下... 黑科技辅助!微扑克ai辅助器下载(透视)真是有挂(有挂大厅)-哔哩哔哩,支持语音通讯、好友开房及战队...
黑科技智能ai!wpk俱乐部开... 黑科技智能ai!wpk俱乐部开挂实锤(黑科技ai)原生是有挂(有挂德州)-哔哩哔哩1、许多玩家不知道...
黑科技智能ai!wpk德州有挂... 黑科技智能ai!wpk德州有挂吗(黑科技)原先是真的有挂(有挂智能)-哔哩哔哩是一款可以让一直输的玩...