gpt4 book ai didi

ssl - 将证书和 pkey 导入 jks 文件

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

我们有一个使用 openssl 的应用程序 1,并且有一个客户端能够连接(握手完成)的公钥和证书文件 (RSA)。

我们有另一个应用程序2,它不使用 openssl,而是使用 Java keytool 和 jks 文件。客户端无法连接到此应用程序(协商失败)。我们认为原因与客户端需要与 application1 的 pkey 和 cert 进行协商有关,因此我们将它们添加到 jks 文件中(使用此处的过程 http://blog.jgc.org/2011/06/importing-existing-ssl-keycertificate.html )。 - 也许我们应该将其拆分为两个条目 - 一个在信任文件中,一个在 keystore 文件中。现在 application2(使用 Grizzly 框架)启动失败并出现以下异常:java.lang.IllegalStateException: KeyManagerFactoryImpl 未初始化。我们使用的是jdk1.7。

有人可以帮忙吗?非常感谢

最佳答案

我在 Java 7 上遇到了与 Grizzly 完全相同的错误。

我使用 SSLContextConfigurator 来设置我的 SSL 配置:

SSLContextConfigurator sslContext= new SSLContextConfigurator();

您可以指定许多属性,其中之一是 key 管理器工厂算法。现在,如果您不指定它,则会选择默认值,在我的例子中是 SunX509。此实现在我的类路径中可用,但我遇到了此异常。

我的想法:指定替代方案!

sslContext.setKeyManagerFactoryAlgorithm("X509");

X509 在 Java 7 中也可用。

我尝试通过显式设置 SunX509KeyManagerFactory.getDefaultAlgorithm() 但它失败了,所以我认为这是正确的解决方案。

事实上,在某种程度上。通过此更改,错误消失了,但我的 SSL 设置仍然无法正常工作,因为不相关的问题,特别是 keystore 和证书密码设置不正确。

修复这些密码问题后,我的设置再次运行,无需指定特定的替代管理器,默认设置就可以了。

总结一下:如果您的 SSL 配置都很好,那么您不需要覆盖默认的 KeyManagerFactoryAlgorithm

关于ssl - 将证书和 pkey 导入 jks 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31688042/

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