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

问题描述:

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

+0

什么是你的本地开发服务器? Tomcat的? Jboss的? – pczeus

一旦我安装了JDK 8(在使用JDK 7之前),我的本地Appengine开发服务器就开始使用TLS 1.2。 JDK 8 uses TLS 1.2 by default

添加到上面的答案中,由于在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 "[email protected]" 

或者dev_appserver.cmd在Windows上:

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 %* 
+1

我正在对.m2文件夹中的'dev_appserver.sh'进行建议的更改。但是,它仍然不适合我:( – Mithun

+0

我对build.gradle文件中的appengine.jvmFlags列表进行了更改,但它对我也不起作用。:( – ndtreviv