【问题标题】:Why SSLSocket support TLSv1.2 from API level 16+ but SSLEngine from API level 20+?为什么 SSLSocket 从 API 级别 16+ 开始支持 TLSv1.2 而从 API 级别 20+ 开始支持 SSLEngine?
【发布时间】:2020-06-18 06:47:03
【问题描述】:

我只是想了解 SSLSocket 和 SSLEngine 类之间的区别?我可以在 android 文档中看到 TLSv1.2 可用于 API 级别 16+ 的 SSLSocket,但 SSLEngine TLSv1.2 可用于 API 级别 20+ https://developer.android.com/reference/javax/net/ssl/SSLSocket.html https://developer.android.com/reference/javax/net/ssl/SSLEngine

我正在尝试使用使用 SSLEngine 的https://github.com/TooTallNate/Java-WebSocket 创建服务器。我的服务器可以在 API 级别 20+ 上运行的 android 设备上正常工作,但在握手期间运行在 API 级别 17 上的设备出现 UNSUPPORTED_PROTOCOL 错误。

【问题讨论】:

  • SSLSocket 被阻止。 SSLEngine 用于支持非阻塞 SSL,但很少有人成功实施。它们是 TLS 的两个独立实现,因此它们不同步也就不足为奇了。在发布周期中。
  • @MarquisofLorne 好的,您知道我们如何将 SSLEngine 用于运行 API 级别 16+ 和 TLSv1.2 的设备吗?
  • 根据你发布的内容,你不能不去 API Level 20+。
  • 使用 Conscrypt Security Provider 解决了这个问题。

标签: android ssl sslengine


【解决方案1】:

通过使用 Conscrypt Security Provider 解决了这个问题。

【讨论】:

    猜你喜欢
    • 2020-04-10
    • 2013-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多