【发布时间】:2017-05-27 17:40:14
【问题描述】:
我们收到了来自 Braintree 的电子邮件,他们已经升级了证书。 细节 : 我们希望确保您知道 Braintree 将从 2017 年 1 月 31 日开始停止接受使用 TLS 1.0 加密的连接。根据 PCI DSS 3.1 要求,所有请求都必须使用 TLS 1.2+。了解如何确保您使用的是 TLS 1.2。
自 12 月 13 日起,Sandbox 不再支持早于 1.2 的 TLS 版本。我们预计对 Java 环境(包括 Android)会产生重大影响。其他环境,包括 .NET、PHP、Ruby、Python 和 Node.js,也可能会受到影响。有关完整的详细信息。
我们的应用程序在测试环境中运行良好,这意味着所有沙箱 url 都运行良好,但在 locahost 上无法运行。
本地主机上的详细异常:
com.acti.braintreegateway.exceptions.UnexpectedException:无法验证 URL 的 SSL 证书:https://api.sandbox.braintreegateway.com:443/merchants/qt7d7qk52zpssmqb/customers com.acti.braintreegateway.exceptions.UnexpectedException:无法验证 URL 的 SSL 证书:https://api.sandbox.braintreegateway.com:443/merchants/qt7d7qk52zpssmqb/customers
我们使用 Google appengine java 和 gradle 来构建应用程序。
【问题讨论】:
-
你能提供更多关于你当地环境的细节吗?你运行的是什么版本的JDK?您可能会发现这些资源相关:Issue 12705: Could not verify SSL certificate (TLSv1.2) 和 Force TLS > 1.0 on AppEngine local development server in Java
-
@Shea 我已经安装了 jdk 7。我确实按照链接更新了 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 "$@" 但它会抛出相同的异常。
-
您是否有run through these steps on localhost 以确保您的客户端可以通过 TLS 1.2 进行连接?另外,您使用的是什么版本的 Braintree Java SDK?
-
我不知道如何做链接中提到的第一步:通过 SSLContext 类设置 TLS 版本。我确实验证了它显示的最后两个步骤:无法连接到 TLS 1.2 端点。我的 Braintree SDK 版本是 2.70.0
标签: java google-app-engine ssl braintree