当前位置: 首页 > 知识库问答 >
问题:

无法在java maven应用程序中找到有效的认证路径以请求目标谷歌reaptcha

庾波光
2023-03-14

我做了一个Maven网络应用程序,带有谷歌reCaptcha v3的接触表单,它运行在Centos服务器上的Glassfish 5上。联系人表单页面向https://www.google.com/recaptcha/api/siteverify发出请求,并发送令牌和站点密钥。如果请求来自机器人或人类,您将得到一个json对象来回答这个问题。

当Java发送该请求时,我收到一个连接错误:

太阳安全验证器。ValidatorException:PKIX路径生成失败:sun。安全供应商。certpath。SunCertPathBuilderException:找不到请求目标的有效证书路径

Java或Glassfish服务器不信任该网站,因为它的密钥库中没有有效的证书。

在/opt/jdk1中导入带有keytool(/opt/jdk1.8.0_181/jre/bin/keytool)的certiface。8.0_181/jre/lib/security/cacerts(存储证书的密钥库)不起作用。

共有1个答案

范书
2023-03-14

在Glassfish域文件夹(在我的情况下,它是在 /home/glassfish/glassfish5/glassfish/domains/domain1)中有一个配置文件夹,文件名为cacerts.jks.您可以使用keyool编辑它,但您也可以使用Keyool资源管理器(https://keystore-explorer.org/)。下载证书与浏览器解释她。您可以下载SSL-server证书作为. crt。在我的情况下,它是wwwgooglecom.crt.很容易用上面的密钥存储工具导入它。上传文件cacerts.jks并重启Glassfish服务器。

 类似资料: