Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl 我能';t在一个PFX文件中合并公钥和私钥_Ssl_Openssl_Key_Private_Public - Fatal编程技术网

Ssl 我能';t在一个PFX文件中合并公钥和私钥

Ssl 我能';t在一个PFX文件中合并公钥和私钥,ssl,openssl,key,private,public,Ssl,Openssl,Key,Private,Public,我从www.startssl.com获得了域名证书。我下载了此证书的副本并将其保存为.p12文件 然后,使用windows控制台,我将包含私钥的证书导出到.pfx文件,然后选择“无私钥”选项,并将公钥导出到.cer文件(使用Base-64算法) 接下来,我使用OpenSSL将.pfx转换为.pem文件。现在我有两个文件——公钥和私钥,它们都可以用记事本打开 只能通过粘贴两个字符串(公钥和私钥)在我的域上建立SSL。我这样做了,但没有起作用——有一个警告说privat key是错误的。因此,我尝试

我从www.startssl.com获得了域名证书。我下载了此证书的副本并将其保存为.p12文件

然后,使用windows控制台,我将包含私钥的证书导出到.pfx文件,然后选择“无私钥”选项,并将公钥导出到.cer文件(使用Base-64算法)

接下来,我使用OpenSSL将.pfx转换为.pem文件。现在我有两个文件——公钥和私钥,它们都可以用记事本打开

只能通过粘贴两个字符串(公钥和私钥)在我的域上建立SSL。我这样做了,但没有起作用——有一个警告说privat key是错误的。因此,我尝试在startssl工具“创建PKCS#12(PFX)文件”中合并这两个键,这又是一个错误。我使用OpenSSL获取pfx时也是如此

为什么一个p.12文件可以拆分为两个键,但之后不能再合并为一个文件

我做错了什么? 我快疯了


非常感谢您的帮助,p12和pfx实际上是相同的pkcs#12格式。通常,它们不仅包含私钥和公钥,还包含中间/根证书。您可以查看以下链接:

文件中的确切标题是什么?他们应该说“开始证书”或“开始私钥”。我怀疑在OpenSSL中将pfx转换为pem时,输出文件实际上包含两个部分,一个用于证书,一个用于私钥。另外,当您说您将公钥导出到.cer文件时,您可能导出了一个X509证书,其中包含公钥,但不只是一个公钥。如果只需要公钥,可以使用OpenSSL从X509证书中提取公钥。