【发布时间】:2017-06-02 22:26:40
【问题描述】:
我有一个应用程序,我在其中调用一些 SOAP Web 服务。当我调用这些服务时,我收到了无效证书错误。
为了解决这个问题,我在位于路径 %JAVA_HOME%/jre/lib/security/cacerts 的密钥库中添加了 Web 服务的安全证书。
现在,当我从独立应用程序调用 Web 服务时,我成功获取了数据。
但是,当我尝试从我的 Web 应用程序(使用 Play 框架 2.2.4 构建)调用相同的 Web 服务时,我得到了与之前相同的错误(即无效证书)。 在寻找解决方案后,我发现我应该配置播放框架以使用该密钥库。
我正在尝试将播放框架 2.2.4 配置为使用自定义密钥库,但我有一些疑问。 (我已按照以下链接https configuration for play framework 中的说明进行操作,但我似乎并不清楚)
- 我应该在哪里指定 https.keystore、https.keystorePassword 等属性?我的意思是,我应该将它们放在
application.conf文件中,还是应该将它们放在操作系统的环境变量中,或者我必须在运行应用程序时指定它们。 - 另外,我曾尝试在运行应用程序时指定这些属性(如
play -Dhttps.port=9443 -Dhttps.keyStore=<Path to the keystore> -Dhttps.keyStorePassword=<Password> run),但它不起作用。
由于我是新手,如果有人可以分享步骤或小教程来做同样的事情,那将非常有帮助。
【问题讨论】:
标签: java https playframework keystore truststore