我使用Spring框架在Java 1.7上运行AppEngine。我需要向Stripe API请求,这在执行请求时需要TLSv1.2。这在将应用程序部署到Google环境时工作正常,但在本地运行服务器时拒绝使用此协议。它给出了以下错误:
Stripe不再支持使用TLS 1.0发出的API请求。请 使用TLS 1.2或更高版本启动HTTPS连接。你可以了解更多 关于此问题https://stripe.com/blog/upgrading-tls。
我使用IntelliJ,AppEngine SDK版本1.9.42与Maven结合使用。我尝试在IntelliJ运行/调试配置中,在XML JVM标志中,在dev_appserver中的多个位置添加构建选项(-Ddeployment.security.TLSv1.2 = true -Dhttps.protocols = TLSv1.2) .py文件,但没有一个工作。如何在Java 7本地开发服务器中启用TLSv1.2,并与Stripe API对话?
答案 0 :(得分:0)
从错误日志中引用的博客条目:
您可以主动检查Stripe集成是否准备就绪, 以及如何升级,请按照TLS deprecation page上的步骤进行升级。
从指向How do I upgrade my Stripe integration from TLS 1.0 to TLS 1.2?的链接中,您可以找到the Java-specific instructions:
您可以确定您的Java集成是否受到影响 您正在运行的Java版本,以及您的stripe-java版本 使用
您可以通过运行
java -version
找到您的Java版本 命令行,以及查找版本的stripe-java版本 jar文件名中的数字,例如stripe-java-1.40.0.jar
或者在POM文件中找到Stripe依赖项的版本。如果您正在运行Java
- 1.6版,您需要升级到至少Java版本1.7和stripe-java版本1.36.0。
- 版本1.7,你有一个早于1.36.0的stripe-java版本,你需要升级到至少stripe-java版本1.36.0。
- 1.8版,您无需进行任何更改。
您可以通过downloading a new jar升级stripe-java版本,或升级POM中的版本号,以及 重建你的项目。
您可以按downloading a new copy升级Java版本,或者 安装较新版本的OpenJDK。