我从GoDaddy获得了ssl证书,并下载了证书和两个文本文件。我需要一个Azure Web Service应用程序的pfx文件。 Godaddy给我发送了两个.crt文件和两个文本文件,其中一个是标题为“ generate-private-key.txt”的文本。 问题1:私钥文本文件是否作为OpenSSL pfx文件转换实用程序的密钥文件有效输入。 问题2:.crt文件名中是否有任何指示要用作OpenSSL实用程序输入的文件。
答案 0 :(得分:0)
首先,通常使用私钥生成一个证书请求,然后将该请求提供给CA(在这种情况下为Go Daddy)。这样,CA不会获得您的私钥。
如果您只是在没有证书请求的情况下请求证书,则CA必须为您生成一个私钥(这不是一个好主意,因为这是使用证书的密钥,现在CA可以访问它了...)。如果这样做,那么CA必须向您提供私钥以及在其上设置的任何密码(如果有)。
还建议您还获取生成的证书与CA根证书之间的中间证书。这些功能很有用,因为某些客户端在没有提供客户端的情况下将无法连接到您的服务器。火狐浏览器。
因此,您要将私钥,CA提供的公共证书和CA中间证书合并到一个供Web服务器使用的PFX文件中。
私钥可以采用一到两种主要格式:
证书密钥可以有多种格式,但是最可能的是: -DER-这是二进制格式 -PEM-这是一种文本格式-它是DER格式的base64版本,周围带有页眉和页脚。
文件扩展名并不总是最好的指示。尝试在文本编辑器中查看它们,看看它看起来像是二进制还是base64文本,它们周围都有页眉和页脚。
openssl中用于生成PFX文件的基本命令是pkcs12命令。
您通常会执行以下操作:
openssl pkcs12-导出-out name.pfx xxx
其中“ xxx”取决于您所提供的内容。例如,如果您有:
然后整个命令将是:
openssl pkcs12-导出-out name.pfx -inkey key.pem -in cert.pem -certfile inter.pem
如果您不想包含inter.pem,只需删除“ -certfile inter.pem”参数即可。
如果任何文件为DER格式,则需要先将其转换为PEM格式。
对于证书,您可以使用openssl x509命令,如下所示:
openssl x509 -in cert.der -inform der -out cert.pem
转换私钥将取决于使用openssl rsa或ec命令的私钥类型。用于转换密钥和证书的命令格式基本相同,但是您使用rsa或ec而不是x509。