3

我需要连接的服务为我提供了三个文件,我试图找出创建 STUNNEL 需要的 Cert=xxx.PEM 文件所需的内容

我有一个“keystore.jks”文件。用 keytool 转储它说这是一个“私钥条目”

我有一个“truststore.jks”文件。转储说它是“受信任的证书条目”。别名是“服务器”

我还有一个“xyz.cer”文件。那似乎是 X.509 证书

我有 OPENSSL 和一个名为“KeytoolUI”的 Java 程序。

底线是我有一堆文件和工具,并且对 SSL 了解不多,我觉得我看不到树木的树木。我需要所有这些文件吗?我为其他服务拥有的现有 PEM 文件只有一个“证书”部分和一个“RSA 私钥”部分。

任何建议表示赞赏。谢谢!

4

3 回答 3

2

听起来您的提供商已将您的密钥对(用于客户端身份验证)提供为 java 密钥库,并且(我猜)远程服务器的公共证书或 PEM 格式的 CA 证书。

这是一些相当繁重的猜测,但奇怪的是,如果您不进行客户端身份验证,他们会向您发送私钥。(希望他们没有向您发送他们服务器的私钥!)。

据我所知,stunnel 仅使用 PEM 证书,因此您需要将 JKS 文件转换为两个 PEM 文件(一个用于私钥,一个用于公共证书)。一种方法是使用 将 JKS 转换为 PKCS#12(又名 PFX)文件keytool,然后使用 OpenSSL 将 PKCS#12 文件转换为 PEM 私钥/证书文件。

拥有这两个文件后,将它们key与.certstunnel.conf

对于您拥有的最终(神秘)PEM 证书,我将(再次)猜测这是远程 CA,因此您应该CAfile根据stunnel.conf. (如果您适合在此处发布详细信息,请编辑以包含来自的输出openssl x509 -in <filename> -text以提供更多线索)。

于 2009-02-13T23:57:07.517 回答
0

恐怕没有答案。最后我让公司给我发了一个 PEM 文件。

我确实在这里找到了相当权威的教程

http://www.herongyang.com/crypto/Migrating_Keys_keytool_to_OpenSSL_2.html

问题是对于那些不每天都这样做的人来说,从各种来源获得一堆免费/开源软件来协同工作。您可以在各种站点上找到执行此操作的脚本,但是当您运行它们时,您会看到 Java 回溯、关于 LIBEAY32.DLL 缺少序数等的投诉等。

如果您获得了正确版本的 KEYTOOL、OPENSSL 等,安装在正确的位置,具有完全正确的 JRE 版本和所有其他 DLL,路径正确,并且所有星星都完全对齐,那么您会没事的. 在那之前,这只是一种沮丧的练习。

于 2009-02-20T16:52:33.413 回答
0
openssl x509 -inform der -outform pem < xyz.cer > xyz.pem
于 2012-02-06T10:55:56.307 回答