gpt4 book ai didi

Android <= 4.4.2 和 TLS 1.2

转载 作者:太空宇宙 更新时间:2023-11-03 14:10:09 27 4
gpt4 key购买 nike

我为一家公司开发了一个应用程序,它支持 API 级别 13+ (3.0+)。它通过 XML 从他们的 CMS 收集数据并将其显示在应用程序上。这是通过 HTTPS 完成的,在他们将服务器升级到 TLS 1.2 之前工作正常。现在,由于 SSLPeerUnverifiedException,低于 API 级别 20 的 android 版本将无法获取 XML,而且很多手机都无法再看到此应用。

有没有办法在启用 TLS 1.2 的同时通过 SSLPeerUnverified

注意:目前的SSL证书如下:

AddTrust External CA Root
--> COMODO High-Assurance Secure Server CA
--> *.appdomain.com

迄今为止最有用的 SOF 文章: Implementing TLS 1.2 on Android 2.3.3

最佳答案

团队中的其他人回答了这个问题,但结果包括以下内容:

  • SSLContext helper=null;
  • helper.init(null,null,null);
  • SSLContext.getInstance("TLSv1.2");
  • SSLEngine engine = helper.createSSLEngine();

这是他用来检查 ssl 并将所有内容放入的函数:

public void sslCheck() {

int PLAY_SERVICES_RESOLUTION_REQUEST=9000;
int resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
//Log.i("log_tag2", String.valueOf(resultCode));
if (resultCode != ConnectionResult.SUCCESS) {
if (GooglePlayServicesUtil.isUserRecoverableError(resultCode)) {
Log.i("log_tag2","Not good!");
if (MyAppActivity.instance != null) {
Log.i("log_tag2","but can fix");
GooglePlayServicesUtil.getErrorDialog(
resultCode,
MyAppActivity.instance,
PLAY_SERVICES_RESOLUTION_REQUEST).show();
}
}
}
else {
Log.i("log_tag2","Already good!");
try {
ProviderInstaller.installIfNeeded(this);
Log.i("log_tag", "1");
} catch (GooglePlayServicesRepairableException e) {
e.printStackTrace();
} catch (GooglePlayServicesNotAvailableException e) {
e.printStackTrace();
}
SSLContext helper=null;
try {
helper = SSLContext.getInstance("TLSv1.2");
Log.i("log_tag","2");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
try {
helper.init(null,null,null);
Log.i("log_tag", "3");
} catch (KeyManagementException e) {
e.printStackTrace();
}
SSLEngine engine = helper.createSSLEngine();
}
}

关于Android <= 4.4.2 和 TLS 1.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32545073/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com