CertEnroll import pfx您输入的密码不正确



当我在windows 10上导入时,certEntroll使用我创建了pfx证书,它导入成功,但当我在windwos 7上尝试时,我收到了一个错误"您输入的密码不正确";如何修复?这是我如何从CA 创建PFX的代码的一部分

var objCertRequest = new CCertRequest();
var iDisposition = objCertRequest.RetrievePending(requestId, caIP + @"" + caNAme);
if (iDisposition == CR_DISP_ISSUED)
{
var cert = objCertRequest.GetCertificate(CR_OUT_BASE64 | CR_OUT_CHAIN);
var objEnroll = new CX509Enrollment();
objEnroll.Initialize(X509CertificateEnrollmentContext.ContextUser);
objEnroll.InstallResponse(
InstallResponseRestrictionFlags.AllowUntrustedRoot,
cert,
EncodingType.XCN_CRYPT_STRING_BASE64, password);
var certResponce = objEnroll.CreatePFX(password, PFXExportOptions.PFXExportChainNoRoot);
}

我知道这篇文章发布大约一年了,但我只是在类似的问题上遇到了同样的错误。在我的案例中,我使用了OpenSSL 3.0.0来创建.pfx文件。我可以在Windows 10上导入.pfx文件,但在Windows Server 2012上出现错误。OpenSSL显然使用了一些旧版本的Windows不支持的默认设置。当我使用OpenSSL 1.1.1时,它运行良好。

我的问题是在Windows Server 2012上,但我刚刚测试了Windows 7,那里也有同样的问题。

最新更新