我正在测试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文档,API 16+支持TLSv1.2
,Android 4.2.2支持API 17.它应该返回TLSv1.2
但不确定为什么它不会在enabledProtocols
中返回。