我需要连接的服务为我提供了三个文件,我正在试图弄清楚我需要创建STUNNEL需要的Cert = xxx.PEM文件
我有一个“keystore.jks”文件。用keytool转储它说它是一个“私钥输入”
我有一个“truststore.jks”文件。转储说它是“可信证书条目”。别名是“server”
我还有一个“xyz.cer”文件。这似乎是X.509证书
我有OPENSSL和一个名为“KeytoolUI”的Java程序。
底线是我有一堆文件和工具,并且对SSL知之甚少,我觉得我看不到树木。我需要所有这些文件吗?我用于其他服务的现有PEM文件只有一个“证书”部分和一个“RSA私钥”部分。
任何建议表示赞赏。谢谢!
答案 0 :(得分:2)
听起来您的提供商已将您的密钥对(用于客户端身份验证)作为Java密钥库提供,并且(我猜测)远程服务器的公共证书或PEM格式的CA证书。
这是一些相当沉重的猜测,但奇怪的是,如果你没有做客户端认证,他们已经发给你一个私钥。 (我们希望他们没有给你的服务器发送私钥!)。
据我所知,stunnel只使用PEM证书,因此您需要将JKS文件转换为两个PEM文件(一个用于私钥,一个用于公共证书)。一种方法是使用keytool
将JKS转换为PKCS#12(aka PFX)文件,然后使用OpenSSL将PKCS#12文件转换为PEM私钥/证书文件。
获得这两个文件后,请将其与key
中的cert
和stunnel.conf
选项一起使用。
对于您拥有的最终(神秘)PEM证书,我将(再次)猜测这是远程CA,因此您应该针对{{1}中的CAfile
参数进行配置}}。 (如果您在此处发布详细信息,请编辑以包含stunnel.conf
的输出以提供更多线索。)
答案 1 :(得分:0)
我不敢回答。最后我让公司给我发送了一份PEM文件。
我确实在这里找到了一个权威的教程
http://www.herongyang.com/crypto/Migrating_Keys_keytool_to_OpenSSL_2.html
问题在于,每天不这样做的人会从各种来源获得一堆免费/开源软件来协同工作。您可以在各种站点上找到执行此操作的脚本,但是当您运行它们时,您将看到Java回溯,有关LIBEAY32.DLL缺失序数的投诉等等。
如果你得到正确版本的KEYTOOL,OPENSSL等,安装在正确的地方,使用正确的JRE版本和所有其他DLL,PATH正确,并且所有星星都准确排列在你的'没事的在那之前,这只是一种挫败感。
答案 2 :(得分:0)
看看这篇文章: http://www.securityfocus.com/infocus/1677
您可能对确保通过stunnel保护VNC或RDP会话不感兴趣,但该教程对我有用。
答案 3 :(得分:-1)
openssl x509 -inform der -outform pem < xyz.cer > xyz.pem