根据 https://developer.android.com/about/versions/10/behavior-changes-all,它说“在 Android 10 及更高版本中,默认情况下为所有 TLS 连接启用 TLS 1.3。”
javax.net.ssl.HttpsUrlConnection con = (javax.net.ssl.HttpsUrlConnection)new URL("myhttpsserverurl").openConnection();
我确认我的 https 服务器支持 TLS 1.3。我有 Android 12 设备。
我没有明确使用 setSSLSocketFactory,这意味着我相信它使用“默认”。
但是,当我调试 HttpsUrlConnection 时,它似乎总是选择 TLS 1.2,而不是 1.3。
我有什么误解吗?
我相信“默认”应该选择最新的可用版本,即 TLS 1.3,因为这是服务器支持的最新版本。如果服务器不支持 TLS 1.3,那么它应该选择 1.2 继续...
如果我误解了什么,请告诉我。
谢谢,
到了 2023 年,默认版本无法使用 1.3。它太新了,如果所有连接都应该针对 1.3 进行一次测试,但立即回滚到标准 1.1/1.2 TLS,则将浪费时间和服务器资源。 默认情况下,TLS 1.3 已启用,但如果没有开发人员的明确意愿,则不会真正使用。