我想知道GAE / J正在使用哪个TLS版本?
这对我来说非常重要,因为我们使用OAuth2并且不再支持TLS 1.0,因此我们要确保使用TLS 1.1或TLS 1.2。
另外,你知道你是否可以将JVM参数传递给GAE / J?我知道他们使用Java7,如果可能的话我们可以添加这些JVM参数来启用TLS1.1 / 1.2
-Ddeployment.security.SSLv2Hello = false -Ddeployment.security.SSLv3 = false -Ddeployment.security.TLSv1 = false -D \ deployment.security.TLSv1.1 = true -Ddeployment.security.TLSv1.2 = true
更新
我添加了以下代码以使用TLS 1.1 / 1.2(而不是使用JVM参数)
SSLConnectionSocketFactory sf = new SSLConnectionSocketFactory(
SSLContexts.custom().useTLS().build(),
new String[] {"TLSv1", "TLSv1.1", "TLSv1.2"},
null,
SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
CloseableHttpClient client = HttpClients.custom()
.setSSLSocketFactory(sf)
.build();
HttpClient httpClient = HttpClients.custom()
.setSSLSocketFactory(sf)
.build();