gpt4 book ai didi

rest - grails-RestClientBuilder

转载 作者:行者123 更新时间:2023-12-04 16:38:40 26 4
gpt4 key购买 nike

我正在使用当前版本的 rest client builder 插件。我通过 curl 测试了 uri:

curl --user username:password https://localhost:8085/rest/api/latest/plan.json?os_authType=basic

我得到了预期的 json 作为返回。当我尝试使用这样的插件将其转换为 grails 时:

RestBuilder rb = new RestBuilder()
def response = rb.get("https://localhost:8085/rest/api/latest/plan.json?os_authType=basic"){
auth 'username', 'password'
}

response.json instanceof JSONObject

我收到这个错误:

sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

为什么它在 curl 中工作而不是在插件中工作?我如何让它发挥作用?

谢谢!

最佳答案

您需要将根证书添加到受信任的存储中。

http://docs.oracle.com/javase/tutorial/security/toolsign/rstep2.html


将证书导入为受信任的证书

在您授予签名代码读取指定文件的权限之前,您需要将 Susan 的证书作为受信任的证书导入您的 keystore 中。

假设你收到了来自 Susan 的邮件

  • 已签名的 JAR 文件 sCount.jar,其中包含 Count.class 文件,以及
  • 文件 Example.cer,其中包含与用于签署 JAR 文件的私钥相对应的公钥的公钥证书。

即使您创建了这些文件并且它们实际上并未传输到任何地方,您也可以模拟成为创建者和发送者 Susan 之外的其他人。假装你现在是雷。作为 Ray,您将创建一个名为 exampleraystore 的 keystore ,并将使用它将证书导入到别名为 susan 的条目中。

每当您使用 keytool 命令指定一个尚不存在的 keystore 时,就会创建一个 keystore 。因此,我们可以创建 exampleraystore 并通过单个 keytool 命令导入证书。在命令窗口中执行以下操作。

  1. 转到包含公钥证书文件 Example.cer 的目录。 (您实际上应该已经在那里了,因为本课假设您自始至终都在一个目录中。)
  2. 在一行中输入以下命令:

    keytool -import -别名苏珊 -file Example.cer -keystore exampleraystore

由于 keystore 尚不存在,将创建它,并提示您输入 keystore 密码;输入您想要的任何密码。

keytool 命令将打印出证书信息并要求您对其进行验证,例如,将显示的证书指纹与从另一个(受信任的)信息源获得的指纹进行比较。 (每个指纹都是一个相对较短的数字,可以唯一且可靠地标识证书。)例如,在现实世界中,您可能会调用 Susan 并询问她的指纹应该是什么。她可以通过执行命令获取她创建的Example.cer文件的指纹

keytool -printcert -file Example.cer

如果她看到的指纹与 keytool 报告给您的指纹相同,则证书在传输过程中没有被修改。在这种情况下,您可以让 keytool 继续在 keystore 中放置受信任的证书条目。该条目包含文件 Example.cer 中的公钥证书数据,并分配了别名 susan

关于rest - grails-RestClientBuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23226817/

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