Import-PfxCertificate 未导入到正确的证书存储区

Import-PfxCertificate 未导入到正确的证书存储区

我正在尝试使用 PowerShell 导入由 OpenSSL 从 cer 和密钥文件创建的 PFX(密钥由 OpenSSL 与 CSR 一起生成,并提交给内部 AD CA 以生成 cer)

在 OpenSSL 中查看证书信息时,我可以看到 PFX 仅包含一个证书和一个私钥,这正是我所期望的

如果我运行以下命令,证书将被导入中间证书颁发机构,而不是我指定的机器个人存储:

Import-PfxCertificate -FilePath $SharedPFXPath -Password (ConvertTo-SecureString -String $PFXPassword -AsPlainText -Force) -CertStoreLocation Cert:\LocalMachine\My -Exportable

Import-PfxCertificate该命令可能忽略我的证书存储位置的原因可能是什么?

编辑:只是为了获得一些额外的信息,我想详细说明用于生成源证书和密钥文件等的命令:

首先创建密钥和 CSR

openssl.exe genrsa -out $KeyFilePath 2048
openssl.exe req -new -key $KeyFilePath -out $CSROutputPath -config $ConfigFilePath

CSR 配置文件包含以下内容(实际 DN 值已删除):

[req]
distinguished_name = req_distinguished_name
req_extensions = req_ext
prompt = no

[req_distinguished_name]
C = COUNTRY CODE
ST = COUNTY/STATE
L = TOWN
O = ORG
OU = OU
CN = COMMON NAME

[req_ext]
subjectAltName = @alt_names

[alt_names]
DNS.1 = SAN

然后我将 CSR 提交给 AD CA,并保存 BASE64 编码的证书。我使用它和密钥文件来创建 PFX

openssl.exe pkcs12 -export -in $CertPath -inkey $KeyFilePath -out $PFXPath -passout pass:$PFXPassword -nomac

我必须将其添加-nomac到我的 PFX 命令中,否则每次我尝试手动将 PFX 导入证书存储时,都会收到密码错误。不确定这是否会加剧我的问题,或者我的一些早期命令是否可能导致我出现一些问题?

答案1

此问题与上述类似问题相关这里

我在 Windows 上使用 OpenSSL 3.0 来生成我的证书和 PFX 等,虽然我遇到了与另一个问题相同的“密码错误”问题,该问题通过添加解决了-nomac,但我没有添加其他选项。

添加到我的 PFX 导出命令后-certpbe PBE-SHA1-3DES -keypbe PBE-SHA1-3DES,我不再遇到任何问题,并且我的证书已导入到我指定的商店

相关内容