我正在尝试使用 PowerShell 导入 PFX,它是由 OpenSSL 从 cer 和密钥文件创建的(密钥由 OpenSSL 与 CSR 一起生成,该 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 导入证书库时都会收到错误的密码错误。不确定这是否会导致我的问题,或者我之前的一些命令是否会给我带来一些问题?
此问题与此处提到的类似问题有关
我在 Windows 上使用 OpenSSL 3.0 来生成我的证书和 PFX 等,虽然我遇到了与另一个问题相同的“密码不正确”问题,该问题已通过添加解决,但我没有添加其他选项
-nomac
。添加
-certpbe PBE-SHA1-3DES -keypbe PBE-SHA1-3DES
到我的 PFX 导出命令后,我不再有任何问题,我的证书已导入到我指定的商店中