gpt4 book ai didi

java - 如何使用 PEM 文件在 Java 中创建 SSL 套接字?

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

See related question.

我有一个 PEM 文件提供给我,并被告知在建立连接到 c++ 服务器以进行某些 API 调用的 SSL 套接字时需要它。有谁知道我如何读取 PEM 文件并进行连接?我还获得了释义密码。

最佳答案

听起来 PEM 文件是您用来登录服务器的客户端证书。如果它是客户端证书(听起来确实如此),您可能还需要一个 ca 证书文件来验证服务器证书以建立连接。

CA 证书需要进入信任库,您的客户端证书需要进入 keystore 。在 Java 中,这两者都是 JKS(尽管它对 PKCS12 的支持有限)。JRE 和每个用户都有默认的 keystore /信任库位置。您还可以在代码中为这些文件指定外部位置,如下例所示。 commons-ssl库貌似可以直接支持PEM,不需要JKS,不过我没用过。

Java 中这些 keystore 的默认密码是不带引号的“changeit”。

This page显示您必须将 PEM 读入您的 keystore /信任库。这是 another example .

正确设置信任库和 keystore 后,您需要传递以下 JSSE system properties到你的 JVM:

javax.net.ssl.keyStore
javax.net.ssl.keyStoreType
javax.net.ssl.keyStorePassword
javax.net.ssl.trustStore
javax.net.ssl.trustStoreType
javax.net.ssl.trustStorePassword

您可以将它们指定为 JRE 的 -D 参数,或者如以下示例所示,以编程方式指定。

完成后,这是一个 commons-ssl example创建套接字。此外,这里是 SSLSocket 的 Java api .这也是一个 example不使用任何 apache commons。

关于java - 如何使用 PEM 文件在 Java 中创建 SSL 套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4017503/

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