在Java中的AppEngine本地开发服务器上强制TLS> 1.0

我们需要使用至少TLS 1.1连接到外部服务,这在使用Java SDK v.1.9.32的本地开发服务器上不起作用。 有没有办法强制本地开发服务器使用特定版本的TLS? 或者Java SDK中是否不支持它?

我安装JDK 8后,我的本地Appengine开发服务器开始使用TLS 1.2(在我使用JDK 7之前)。 JDK 8默认使用TLS 1.2 。

添加到上面的答案,由于在JDK 7上默认禁用了TLS 1.1和1.2,如果您不想使用JDK 8,您还可以尝试使用以下标志修改dev_appserver.sh的最后一行:

exec "${RUN_JAVA}" "${SCRIPT_NAME}" \ -Ddeployment.security.TLSv1.1=true -Ddeployment.security.TLSv1.2=true -ea -cp "${JAR_FILE}" \ com.google.appengine.tools.KickStart \ com.google.appengine.tools.development.DevAppServerMain "$@" 

或者在Windows上使用dev_appserver.cmd:

 java -Ddeployment.security.TLSv1.1=true -Ddeployment.security.TLSv1.2=true -cp "%~dp0\..\lib\appengine-tools-api.jar" ^ com.google.appengine.tools.KickStart ^ com.google.appengine.tools.development.DevAppServerMain %*