gpt4 book ai didi

java - 为 Play Framework 2.2.4 配置 HTTPS 信任存储

转载 作者:太空宇宙 更新时间:2023-11-04 11:52:02 25 4
gpt4 key购买 nike

我有一个应用程序,在其中调用一些 SOAP Web 服务。当我调用这些服务时,我收到了无效证书错误。

<小时/>

为了解决此问题,我在位于路径 %JAVA_HOME%/jre/lib/security/cacerts 的 keystore 中添加了 Web 服务的安全证书。 。现在,当我从独立应用程序调用 Web 服务时,我成功获取了数据。

<小时/>

但是,当我尝试从我的 Web 应用程序(使用 Play 框架 2.2.4 构建)调用相同的 Web 服务时,我收到了与之前相同的错误(即无效证书)。在寻找解决方案后,我发现我应该配置 Play Framework 以使用该 keystore 。

我正在尝试配置 play 框架 2.2.4 以使用自定义 keystore ,但我有一些疑问。(我已按照以下链接 https configuration for play framework 中的说明进行操作,但我似乎不清楚)

  1. 我应该在哪里指定 https.keystorehttps.keystorePassword 等属性?我的意思是,我应该把它们放在 application.conf 中吗?文件,或者我应该将它们放入操作系统的环境变量中,还是必须在运行应用程序时指定它们。
  2. 此外,我尝试在运行应用程序时指定这些属性(例如 play -Dhttps.port=9443 -Dhttps.keyStore=<Path to the keystore> -Dhttps.keyStorePassword=<Password> run ),但它不起作用。

由于我是框架新手,如果有人可以分享相同的步骤或小教程,那将会非常有帮助。

最佳答案

请注意, keystore 和信任库之间存在差异。前者持有私钥,而后者则包含其他方的公钥/证书。您在第一段中提到的(cacerts)是信任库。

因此,如果您指定 https.keyStore,您就不会配置包含您想要从其他方接受的证书的存储。

使用-Djavax.net.ssl.trustStore配置信任存储。更多选项如下所述:https://docs.oracle.com/cd/E29587_01/PlatformServices.60x/ps_security/src/csec_ssl_jsp_start_server.html或者在调试指南中:http://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/ReadDebug.html

关于java - 为 Play Framework 2.2.4 配置 HTTPS 信任存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41721175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com