Browse Source

fix: ci

master
高志龙 8 months ago
parent
commit
3bf80b9829
  1. 36
      app/src/main/java/qianmu/container/app/MyApplication.java

36
app/src/main/java/qianmu/container/app/MyApplication.java

@ -143,32 +143,26 @@ public class MyApplication extends Application {
public OkHttpClient createOkHttpClient(Context context) {
try {
// 1. 创建信任管理器(这里示例为信任所有证书,生产环境需谨慎)
X509TrustManager trustManager = new X509TrustManager() {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {}
@Override
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
};
// 获取系统默认信任管理器
TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(
TrustManagerFactory.getDefaultAlgorithm());
trustManagerFactory.init((KeyStore) null);
TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();
X509TrustManager trustManager = (X509TrustManager) trustManagers[0];
// 初始化 SSL 上下文
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, new TrustManager[]{trustManager}, null);
javax.net.ssl.SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
// 4. 配置 OkHttpClient
// 构建 OkHttpClient(3.x 版本同样需要显式传入 trustManager)
return new OkHttpClient.Builder()
.readTimeout(10, TimeUnit.SECONDS)
.writeTimeout(10, TimeUnit.SECONDS)
.connectTimeout(10, TimeUnit.SECONDS)
.sslSocketFactory(sslSocketFactory, trustManager) // 同时传入 TrustManager
.sslSocketFactory(sslContext.getSocketFactory(), trustManager) // 关键
.connectTimeout(15, TimeUnit.SECONDS)
.readTimeout(15, TimeUnit.SECONDS)
.writeTimeout(15, TimeUnit.SECONDS)
.build();
} catch (Exception e) {
throw new RuntimeException(e);
throw new RuntimeException("OkHttp 初始化失败", e);
}
}

Loading…
Cancel
Save