在开发Android应用程序期间,我遇到了Android中SSL连接低于KIT KAT的问题。
应用程序正在使用ch.boye。httpclientandroidlib进行连接。当我尝试获取httpConnection时,我收到错误:
执行http请求时出错。
javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
在Android最新的比KIT KAT一切正常。
我试图使用的解决方案建议在这里,但我有一个问题与类型转换从ch.boye.httpclientandroidlib到apache元素在我目前的实现。
有没有比KIT KAT更低的Android使用此库的解决方案?
我在这里找到了解决相同问题的方法……使用TlsSniSocketWorks类(您还必须从同一个“util”文件夹下载IgnoreSSLTrustManager和SelfSignedTrustManager)并将其添加到您的项目中。然后像这样在架构注册表对象上注册新方案:
schemeRegistry.register(new Scheme("https", new TlsSniSocketFactory(), port));
我的问题是我的网络服务设置为仅使用 TLS 1.2。运行 Android 4.4.4 及更低版本的 Android 设备不会自动启用 TLS 1.2,因此您必须手动启用它(重要提示 * 早于 Android 4.1 的设备根本不支持 TLS 1.2,因此此解决方案不适用于那些较旧的设备)
迟到的回答,但希望能帮助别人
干杯。
我已经用Python 2.7开发了一个应用程序。但它只支持协议_TLSv1。我必须以某种方式使其与协议_TLSv1_1和协议_TLSv1_2兼容。我找不到任何图书馆或窍门。有必要升级Python版本吗? 请指导我或帮助我找到更好的解决方案。没有什么不碍事的解决方案吗?
我的测试程序从以下URL运行HTTP服务器:HTTP://www.herongyang.com/jdk/https-httpsechoer-better-https-server.html 请帮助如何使java只接受TLS1.2连接。