gpt4 book ai didi

java - 在本地创建 spring 和 nodejs 应用程序之间的 SSL 连接

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

我有两个应用程序,一个是用 nodejs 编写的(在本例中是简单的模拟服务器)和 spring 应用程序(核心应用程序)。我想在这两者之间创建一个 SSL 连接。首先我生成了一对 key 和证书,然后简单地设置一个 nodejs 以通过 SSL 工作(我使用这个例子:setting SSL - nodeJs)。我在浏览器中写的时候检查过https://localhost:3000它给了我一个“安全”的连接(带有打开的挂锁 - 所以没关系)。

接下来我使用 setting SSL - Spring 在 spring 应用程序上进行配置.我从上一步生成的证书中获取了证书,并将其在 keystore 中设置为 .p12 文件。在 spring 应用程序中,我将 Node 应用程序的 url 更改为 https。

当我尝试从 spring 应用程序连接并从 Node 获取一些模拟数据时,我得到了这个堆栈跟踪:

Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

我在 stack 中找到了一些东西但是当我在特定目录中设置此证书然后重新启动我的应用程序时,结果是一样的。

有没有人知道此配置中可能有什么问题以及如何修复它的一些建议?

最佳答案

我找到了这个问题的解决方案。我不知道为什么,但是当我创建一个内部带有证书的 keystore ,然后在我的 spring 应用程序中使用它时,它无法在全局范围内找到带有证书的 keystore 。我正在寻找有关 openJDK11 的文档(因为我使用过它)并找到了指向 Enabling Unlimited Strength Jurisdiction Policy 的链接并检查我拥有 openJDK11 版本的文件。

在我的例子中,来自 crypto.policy 的行被注释了,不知道为什么。当我取消注释并设置 unlimited 时,它又给我一个错误,但后来我找到了另一种解决方案。我发现,我需要将我的 sign-self 证书添加到 cacerts 文件 ( how to add my self-signed cert to cacerts )。在这两个操作之后,它就像魅力一样。

关于java - 在本地创建 spring 和 nodejs 应用程序之间的 SSL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56808487/

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