gpt4 book ai didi

Java DefaultSslContextFactory keystore 动态更新

转载 作者:行者123 更新时间:2023-12-02 09:26:34 25 4
gpt4 key购买 nike

我有一个使用 org.reSTLet.engine.ssl.DefaultSslContextFactory 的现有应用程序和一个在服务器启动时加载的 keystore 文件。我有另一个应用程序创建必须添加的证书在服务器运行时动态地添加到 keystore 文件。为了执行此操作,我在代码中创建了证书和私钥然后写入到一个目录。该目录由 bash 脚本监视,检查新文件,如果出现新文件,它将被导入到现有的 keystore 文件中。

但是当尝试使用新导入的证书访问服务器时,握手失败。只有重新启动服务器才能成功完成访问,我认为这意味着添加的证书不会被服务器重新加载。

有没有办法使用 keystore 文件中的新条目更新正在运行的应用程序?

最佳答案

将新证书导入 keystore 不会刷新当前的 SSLConext,因为没有任何信息告诉 JVM keystore 已更改。

要做到这一点,您必须告诉您的应用程序新证书已添加到您的 keystore 中,但不是重新加载 keystore (据我所知这是不可能的),顺便说一下,可能的是您可以将新证书添加到当前的 SSLContext See here .

为了实现这一点,您必须提供一个能够识别新证书的 bean(可能是调用您的 bash 脚本的组件),您在其中注入(inject)了 SSLContext 实例。

如果您使用微服务架构拆分应用程序,将处理证书的事实委托(delegate)给一个模块并在更新 keystore 时重新加载它(使用正确的配置 LB),这也会很有趣。

关于Java DefaultSslContextFactory keystore 动态更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41944947/

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