gpt4 book ai didi

ssl - GlassFish 5.1 中缺少 Google reCAPTCHA 所需的证书

转载 作者:太空宇宙 更新时间:2023-11-03 14:23:46 24 4
gpt4 key购买 nike

我有一个使用 Google reCAPTCHA V2 的网络应用程序。它在带有 JDK 1.8.0_144 的 GlassFish 5.0 以及带有 JDK 1.8.0_231 的 WildFly 14 中运行良好。我将它部署到带有 JDK 1.8.0_231 的 GlassFish 5.1 服务器。站点验证失败,出现以下异常:

javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

我知道缺少必需的证书。该证书存在于 5.0 的 cacerts.jks 文件中,但在 5.1 中缺失。用keytool列出它们的内容,我可以看到5.0版本的cacerts.jks文件有76个证书,而5.1版本的文件只有2个(glassfish-instance和s1as)。将 5.1 的 cacerts.jks 文件替换为 5.0 的文件,我的应用程序在 5.1 中运行良好。

我在 Google reCAPTCHA 的网页中找不到任何关于所需证书的信息。我如何识别并获得所需的证书?

最佳答案

我找到了解决方案。就是这样:

  1. 打开https://www.google.com/recaptcha/api/siteverify使用 Chrome 浏览器。
  2. 点击地址前面的黑色挂锁。
  3. 点击证书
  4. 选择详细信息标签,然后点击复制到文件...按钮;将证书保存到 .cer 文件。例如,recaptcha.cer。
  5. 使用 keytool 将 .cer 文件导入 glassfish/domains/domain1/config/cacerts.jks。这是命令行:keytool -import -file recaptcha.cer -alias recaptcha -keystore GLASSFISH_HOME/glassfish/domains/domain1/config/cacerts.jks -storepass changeit。 keytool.exe 文件位于 JAVA_HOME/bin。
  6. 重启 GlassFish

我希望这对没有证书经验的其他程序员有帮助。

警告:证书有效期只有3个月左右;我拿到的那个有效期到明年1月2日,看来这个程序还得周期性重复。

编辑 2019 年 11 月 13 日:尽管证书声称有效期至 1 月,但此解决方案只工作了几天。我获得了另一个证书并重复了该过程,但是这次没有用。所以我真的还没有找到解决方案。

关于ssl - GlassFish 5.1 中缺少 Google reCAPTCHA 所需的证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58617017/

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