如何从CertEnroll导出二进制PFX?

3
我在使用objEnroll.CreatePFX时遇到了问题,因为它的返回类型只是字符串,而我需要一个二进制输出,类似于打开证书MMC并导出PFX时发生的情况。
这很重要,因为我需要原始的PFX格式,以便将私钥导入OSX和iPhone。
    CX509Enrollment objEnroll = new CX509Enrollment();
   objEnroll.InitializeFromTemplateName(
                X509CertificateEnrollmentContext.ContextUser,
                templateName);
   // ...
   objEnroll.Enroll();
   string pfxString = objEnroll.CreatePFX("q", PFXExportOptions.PFXExportEEOnly, EncodingType.XCN_CRYPT_STRING_BINARY);

如何正确设置EncodingType以便将其正确转换为二进制输出? (类似于Windows证书导出)

1个回答

3

将Base64字符串写入文件即可。

System.IO.File.WriteAllText("MyFile.pfx", pfxString);

Windows将处理PFX文件。

您也可以使用以下方法将Base64转换为二进制:

System.IO.File.WriteAllBytes("MyFile.pfx", System.Convert.FromBase64String(pfxString));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接