我正在测试 Android 4.2.2 (API 17) 并运行以下代码。
KeyManagerFactory kmf = .... //generating KeyManagerFactory
if (kmf == null) {
throw new UnexpectedInternalException("Initialisation of SSLContext failed!");
}
KeyManager[] keyManagers = kmf.getKeyManagers();
SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
sslContext.init(keyManagers, null, null);
SSLSocketFactory f = sslContext.getSocketFactory();
当我检查 SocketFactory 时,我看到如下:
我在 Android 6.0 上运行相同的代码,它确实返回TLSv1.2
. 根据 SSLContext API 文档,TLSv1.2
API 16+ 支持,Android 4.2.2 是 API 17。它应该返回TLSv1.2
但不确定为什么它没有在enabledProtocols
.