Google 建议 Security ProviderInstaller 将 TLS 降级至 1.2?

Xan*_*Xan 6 android google-play-services tls1.3

使用 OkHttp 和Google Security ProviderInstaller与支持 TLS1.2 和 TLS1.3 的域的任何连接都是使用 1.2 版本进行的。如果没有 ProviderInstaller,使用 1.3 一切都可以正常工作。

这是示例代码,在 Android 12 上使用最新版本的 okhttp 和 play-services-basement

GlobalScope.launch(Dispatchers.IO) {
    var r1 = OkHttpClient().newCall(Request.Builder().url("https://www.google.com").build()).execute()
    println(r1.handshake)
    try {
        ProviderInstaller.installIfNeeded(this@MainActivity)
        println("ProviderInstaller DONE")
    } catch (e: Exception) {
        e.printStackTrace()
    }

    var r2 = OkHttpClient().newCall(Request.Builder().url("https://www.google.com").build()).execute()
    println(r2.handshake)
}
Run Code Online (Sandbox Code Playgroud)

日志结果是

I/System.out: Handshake{tlsVersion=TLS_1_3 cipherSuite=TLS_AES_128_GCM_SHA256 peerCertificates=[CN=www.google.com, CN=GTS CA 1C3, O=Google Trust Services LLC, C=US, CN=GTS Root R1, O=Google Trust Services LLC, C=US] localCertificates=[]}
I/System.out: ProviderInstaller DONE
I/System.out: Handshake{tlsVersion=TLS_1_2 cipherSuite=TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 peerCertificates=[CN=www.google.com, CN=GTS CA 1C3, O=Google Trust Services LLC, C=US, CN=GTS Root R1, O=Google Trust Services LLC, C=US] localCertificates=[]}
Run Code Online (Sandbox Code Playgroud)

仅对我来说这似乎是一个巨大的问题吗?

另一个奇怪的事情是 com.google.firebase.inappmessaging 强制应用程序使用 ProviderInstaller

还向Issuetracker打开了一个错误