Android模拟器无法信任Charles代理证书。
创始人
2024-10-09 06:31:16
0

如果Android模拟器无法信任Charles代理证书,可以尝试以下解决方法:

  1. 在Android模拟器中安装Charles代理证书
// 获取Charles代理证书的InputStream
InputStream certificateInputStream = context.getAssets().open("charles-proxy-certificate.pem");

// 保存证书到指定路径
File certificateFile = new File(Environment.getExternalStorageDirectory(), "charles-proxy-certificate.cer");
OutputStream certificateOutputStream = new FileOutputStream(certificateFile);
byte buffer[] = new byte[1024];
int length;
while ((length = certificateInputStream.read(buffer)) != -1) {
    certificateOutputStream.write(buffer, 0, length);
}
certificateOutputStream.flush();
certificateOutputStream.close();
certificateInputStream.close();

// 安装证书
Intent intent = new Intent(Settings.ACTION_SECURITY_SETTINGS);
intent.setData(Uri.fromParts("package", "com.android.settings", null));
startActivity(intent);
  1. 在Android模拟器中信任Charles代理证书
// 获取Charles代理证书的InputStream
InputStream certificateInputStream = context.getAssets().open("charles-proxy-certificate.pem");

// 创建KeyStore,并加载Charles代理证书
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
keyStore.load(null, null);
CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");
Certificate certificate = certificateFactory.generateCertificate(certificateInputStream);
keyStore.setCertificateEntry("charles-proxy-certificate", certificate);

// 创建TrustManager,并使用KeyStore初始化
TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
trustManagerFactory.init(keyStore);
TrustManager[] trustManagers = trustManagerFactory.getTrustManagers();

// 创建SSLContext,并使用TrustManager初始化
SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, trustManagers, null);

// 设置模拟器使用自定义的SSLContext
HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory());

这些代码示例分别展示了两种解决方法,第一种是通过安装证书到Android模拟器的系统设置中,第二种是在代码中信任Charles代理证书。您可以根据具体情况选择适合的解决方法。

相关内容

热门资讯

智星德州菠萝开挂!德扑之星有没... 智星德州菠萝开挂!德扑之星有没有规律(透视)本然是真的有挂(详细辅助技巧教程)1、不需要AI权限,帮...
aapoker辅助!gover... 您好,aapoker辅助这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家...
智星德州菠萝有挂吗!德扑之星怎... 智星德州菠萝有挂吗!德扑之星怎么在电脑上玩(透视)从前有挂(详细辅助2025新版教程);智星德州菠萝...
wpk真的有外挂!德州ai软件... wpk真的有外挂!德州ai软件使用(透视)本然是有挂(详细辅助AI教程)1)wpk真的有外挂辅助挂:...
微扑克ai辅助器苹果版!fis... 微扑克ai辅助器苹果版!fishpoker app辅助(透视)原生存在有挂(详细辅助解密教程)1、许...
德州之星有辅助挂!wepoke... 德州之星有辅助挂!wepoke软件透明挂检测(透视)素来真的是有挂(详细辅助安装教程);小薇(透视辅...
wepoke有挂!云扑克辅助挂... wepoke有挂!云扑克辅助挂(透视)一贯真的有挂(详细辅助2025新版)是一款可以让一直输的玩家,...
德州ai辅助软件!德州ai在哪... 德州ai辅助软件!德州ai在哪里找(透视)原生真的有挂(详细辅助AI教程)1、这是跨平台的德州ai辅...
wpk提高胜率!fishpok... wpk提高胜率!fishpoker正规吗(透视)素来是真的有挂(详细辅助2025版教程)1、超多福利...
wepoke真的有挂!wopo... wepoke真的有挂!wopoker轻量版外挂(透视)都是是真的有挂(详细辅助2025教程)您好,w...