【问题标题】:Convert crt to pem with private key使用私钥将crt转换为pem
【发布时间】:2013-06-22 22:06:59
【问题描述】:

我真的不想问这个,但我无法在网上找到我理解的可靠答案。我不擅长网络/IIS/证书,需要一些帮助。我有一个从 godaddy 生成的 CRT 文件,我将它安装在服务器上,但需要创建一个 PEM 文件,其中包含私钥和证书,以便我可以进行密钥交换。我创建了一个 DER 文件,然后使用 OpenSSL 创建了一个 PEM 文件,其中包含证书。我的问题是如何创建私钥,然后将其放入 PEM 文件中?如果这没有任何意义,我很抱歉,如果是这样,请让我知道我走错了路。我的目标是建立一个 FTP 密钥交换,这就是我的客户所要求的。证书为 2048 位 RSA 格式。

【问题讨论】:

标签: windows iis-7 openssl certificate ssl-certificate


【解决方案1】:

你如何创建你已经拥有的证书的私钥?您必须拥有私钥才能签署证书签名请求 (CSR)。您可以将此私钥导出为您想要的任何格式(前提是它被标记为可导出)。

如果您可以导出私钥,那么一种解决方案是,如果您的应用程序支持,您可以将文件与私钥和公钥连接起来。

另一种方法是将它们组合成 pfx 或 PKCS #12 文件。

你可以看到关于openssl pkcs12 here

【讨论】:

  • 好吧,也许我不明白整个过程。我有用于获取证书的原始证书请求,这与他们的密钥相同吗?我尝试从 IIS 中导出密钥,但我想我被卡在那里了。我已将其导出为 PKCS #12 (.pfx),但目前不知道如何处理它。
  • 原始证书请求不是关键。如果可以将其导出为 .pfx,则可以从中提取私钥和公钥。您还可以检查 FTP 密钥交换是否可以使用 .pfx 文件或单独指定私钥和证书。这你必须检查配置。
  • 我有一个来自我们过期证书的旧密钥文件,它显示 --begin private key-------begin certificate---- (带有适当的信息和结束标签)这就是我需要,每个filezilla的openssl格式。我想我需要提取私钥并自己制作这个文件。感谢您的信息。
  • 或者您可以在您的 PFX 文件上使用此命令以确保您使用的是正确的密钥文件:openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
【解决方案2】:

原来这是我需要的,谢谢你的帮助。

openssl pkcs12 -in file.pfx -nocerts –nodes -passin pass:123 | openssl rsa -out privatekey.pem

这给了我一个 RSA 私钥,然后将其作为私钥放入 FileZilla,并将证书放在 FileZilla 设置的 cert 字段中。这两个文件都应位于不受权限保护的文件夹中,并且(这部分不能 100% 确定)应位于同一文件夹中。

【讨论】:

  • 您可能确实希望使用适当的权限保护私钥。任何人都可以拥有证书,但私钥应该具有访问权限。
  • @gtrig - 在这种情况下,密码保护并不重要,因为 {IIS|Apache} 需要加载它。在 Apache 的情况下,将加密密钥和密码短语存储在它旁边会破坏安全性。你能做的最好的就是文件系统 ACL。 (顺便说一句,这被称为 Unattended Key Storage 问题。这是一个没有解决方案的问题)。
  • “这两个文件都应位于不受权限保护的文件夹中” - FileZilla 取决于这些 ACL因为它们没有与 Windows DPAPI 或其他受保护的存储集成。见FileZilla Bug #1373: Passwords saved as plain text。可悲的是,FileZilla 的作者似乎是 Unix/Linux,因此他们对 Windows 安全性一无所知。可悲的是,他们忽略了那些有知识并试图帮助他们的人。
猜你喜欢
  • 2012-01-07
  • 1970-01-01
  • 1970-01-01
  • 2014-11-26
  • 2016-04-07
  • 2020-10-30
  • 2020-10-08
  • 1970-01-01
  • 2011-06-09
相关资源
最近更新 更多