首页 > 解决方案 > CertEnrol 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);
        }

标签: c#windows-7caself-signed-certificatecertenroll

解决方案


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

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


推荐阅读