2013-06-25 136 views
0

我真的不想问这个,但我无法找到一个坚实的答案在线,我理解。我不擅长网络/ IIS /证书,需要一些帮助。我有一个从godaddy生成的CRT文件,我已经安装在服务器上,但需要创建一个私钥和它内部的证书的PEM文件,所以我可以做一个密钥交换。我创建了一个DER文件,然后使用OpenSSL创建了PEM文件,其中包含证书。我的问题是我如何创建一个私钥,然后将其放置在PEM文件中?对不起,如果这没有任何意义,如果是这样,请让我知道我在错误的轨道上。我的目标是建立一个FTP密钥交换,这就是我的客户要求的。该证书采用2048位RSA格式。将crt转换成pem与私钥

+0

Stack Overflow是编程和开发问题的网站。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。另请参阅[我在哪里发布有关Dev Ops的问题?](http://meta.stackexchange.com/q/134306)。 – jww

回答

0

你如何创建你已有的证书的私钥?您必须有私钥才能签署证书签名请求(CSR)。您可以将此私钥导出为任意格式(只要标记为可导出)即可。

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

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

你可以看到关于openssl pkcs12 here

+0

好的,也许我不明白整个过程。我有用于获得证书的原始证书请求,是否与他们的密钥相同?我试图从IIS导出密钥,但我想我陷在那里。我将它导出为PKCS#12(.pfx),但不确定此时如何处理它。 – wondergoat77

+0

Orignial证书请求不是关键。如果您可以将它导出到.pfx,那么您可以从中提取私钥和公钥。您还可以检查FTP密钥交换可能使用.pfx文件或单独指定私钥和证书。这你必须检查配置。 – doptimusprime

+0

我有一个旧的密钥文件从我们过期的证书,它显示 - 开始私钥-------开始证书----(与适当的信息和结束标签)这就是我需要的,在openssl格式每filezilla 。我想我需要提取私钥并自己创建该文件。谢谢(你的)信息。 – wondergoat77

0

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

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

这引起了我的私人RSA密钥,然后将其放入FileZilla中的私钥和FileZilla中的设置在证书领域的证书。这两个文件应该位于不受权限保护的文件夹中,并且(不是100%确定)应位于同一个文件夹中。

+1

你可能确实想用适当的权限保护私钥。任何人都可以拥有该证书,但私钥应限制访问权限。 – gtrig

+0

@gtrig - 在这种情况下,由于{IIS | Apache}需要加载密码,因此密码保护并不重要。在Apache的情况下,将加密密钥和密码短语存储在其旁边会破坏安全性。您可以做的最好的事情是文件系统ACL。 (顺便说一下,这被称为* [无人参与密钥存储](https://www.cs.auckland.ac.nz/~pgut001/pubs/book.pdf)*问题,它是一个没有解决方案的问题)。 – jww

+0

*“这两个文件都应该位于未受权限保护的文件夹中”* - FileZilla ***取决于这些ACL,因为它们不与Windows DPAPI或其他受保护的存储集成。参见[FileZilla Bug#1373:密码保存为纯文本](http://trac.filezilla-project.org/ticket/1373)。不幸的是,FileZilla的作者似乎是Unix/Linux,所以他们不知道Windows的安全。可悲的是他们忽视了那些有知识并且试图帮助他们的人。 – jww