在 Android 2.3.3 上实现 TLS 1.2

发布于 2024-11-06 01:04:58 字数 264 浏览 0 评论 0原文

我一直在尝试在 Android 上实现 TLS 1.2。我创建了一个 SSLSocket s,但是当我运行 s.getSupportedProtocols() 时,TLS 1.2 不是选项之一。支持 TLSv1 和 SSLv3,但不支持 TLSv1.2。

关于这个问题,我需要的密码套件也不在那里(TLS_ECDHE_ECDSA_WITH_AES_256_...)

知道我可以导入或做什么来在android上启用TLSv1.2和该密码吗?我有什么遗漏的吗?任何想法都会有帮助!谢谢!

I have been trying to implement TLS 1.2 on Android. I create an SSLSocket s but when I run s.getSupportedProtocols(), TLS 1.2 is not one of the options. TLSv1 and SSLv3 are supported but TLSv1.2 is not.

In relation to that question, the ciphersuite I need is also not on there (TLS_ECDHE_ECDSA_WITH_AES_256_...)

Any idea on what I could import or do to enable TLSv1.2 and that cipher on android? Is there something I am missing? Any ideas would be helpful! Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

寂寞清仓 2024-11-13 01:04:58

仅出于文档目的(这个问题已有 3.5 年历史) - Android API 文档有每个 API 级别支持的 SSL/TLS 列表,包括特定的密码套件: https://developer.android.com/reference/javax/net/ssl/SSLSocket.html

Just for documentation purpose (this question is 3.5 years old) - Android API documentation has a list of supported SSL/TLS per API level, including specific cipher suites: https://developer.android.com/reference/javax/net/ssl/SSLSocket.html

天涯离梦残月幽梦 2024-11-13 01:04:58

如果它不存在,您就无法真正启用它。要添加对 TLSv1.2 的支持,您需要添加新的 JSSE 提供程序(并非微不足道),或者如果您只需要一个套接字,则可能使用 OpenSSL 在本机代码中实现它。或者如果可以的话,直接使用 JB。

You can't really enable it if it is not there. To add support for TLSv1.2 you need to either add a new JSSE provider (not trivial), or if you only need a socket, probably implement it in native code using OpenSSL. Or simply use JB if you can.

¢好甜 2024-11-13 01:04:58

如果您仍然坚持使用 2.3,您最好的选择是使用 NDK 创建(或使用)适用于 Android 的 OpenSSL 端口。 OpenSSL 有一个适用于 Android 的配置选项。使用 NDK,您可以构建静态链接库或动态链接库。然后使用 JNI 并在那里设置 TLS 1.2 会话。即使您使用 JB,您也必须首先启用 TLS 1.2。您的整个密码套件未列出,因此它可能在 JB 中仍然不可用,例如 _GCM。

显示了哪个 API 级别支持哪些密码套件。

stackoverflow 链接还包含有关构建在 Android 上使用的 openssl 的信息。

If you are still stuck with 2.3 your best option would be to create (or use) an OpenSSL port for Android using NDK. OpenSSL has a configure options for Android. Using the NDK you can build either statically linked libraries or dynamically linked ones. Then use JNI and setup your TLS 1.2 session there. Even if you use JB you would have to first enable TLS 1.2. Your entire cipher suite is not listed so it is a possibility that it is still not available in JB, e.g, _GCM.

This table shows which cipher suites are supported by which API level.

This stackoverflow link also contains info on building openssl for use on Android.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文