Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.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
Powershell 通过MMC导入PFX证书会添加多个条目,而不是一个条目_Powershell_Openssl_Certificate_Windows Server 2016_Pfx - Fatal编程技术网

Powershell 通过MMC导入PFX证书会添加多个条目,而不是一个条目

Powershell 通过MMC导入PFX证书会添加多个条目,而不是一个条目,powershell,openssl,certificate,windows-server-2016,pfx,Powershell,Openssl,Certificate,Windows Server 2016,Pfx,这肯定是对其工作原理的严重误解,但我无法找到这个问题的答案 我已使用openssl在OSX上创建了.pfx证书: openssl pkcs12 -export -out mycompanyhere.com.pfx -inkey comp-com.key -in comp-com.crt -certfile comp-ca.crt 当导出的.pfx传输到Windows Server 2016并导入到证书管理器中时,它会创建3个单独的条目,我希望其中只有一个条目 我知道这是不正确的(或者至少这个方

这肯定是对其工作原理的严重误解,但我无法找到这个问题的答案

我已使用openssl在OSX上创建了.pfx证书:

openssl pkcs12 -export -out mycompanyhere.com.pfx -inkey comp-com.key -in comp-com.crt -certfile comp-ca.crt
当导出的.pfx传输到Windows Server 2016并导入到证书管理器中时,它会创建3个单独的条目,我希望其中只有一个条目

我知道这是不正确的(或者至少这个方法做了一些不同的事情),因为我以前在导入证书并使用该证书后,使用
Export PfxCertificate
命令在windows server中创建了一个.pfx

我希望通过我的终端理想地使用openssl方法,但如果这不可能,最好能得到一个解释,说明为什么这不起作用或者我误解了什么

谢谢


D

使用指定的
导出PfxCertificate
围绕一个证书(及其私钥)创建PFX。您的
opensslpkcs12
要求创建一个包含三个证书和一个私钥的PFX

如果在PFX中只需要一件东西,不要指定
-certfile
参数,那么它只是“证书及其私钥”


PFX可以持有任意数量的证书、任意数量的私钥以及任意数量的其他种类的东西(大部分达到系统在PFX导入时愿意读取的最大数据大小)。

为什么什么不起作用?这三个条目是什么?有三个条目有什么不对?
comp-com.crt
comp-ca.crt
中有什么?我猜其中一个是你的证书,另一个是两个证书链,所有这三个都在pfx中?这是正确的,正如前面提到的使用Export-PfxCertificate,它使用了我以前上传的.crt并将其导出到pfx,导入时创建了一个条目。“如前所述”-您的
导出PfxCertificate
命令是什么?这方面的帮助说明它默认构建一个链,除非您告诉它不要这样做。所以要么你告诉它不要,要么你的证书在这种情况下不知何故没有一个链(它是根证书吗?或者它在商店中没有可以放入pfx的链)?