Как я могу экспортировать двоичный PFX из CertEnroll?

У меня проблемы с 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 ответ

Просто запишите строку base64 в файл

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

Windows будет обрабатывать PFX.

Вы также можете конвертировать base64 в двоичный файл, используя

System.IO.File.WriteAllBytes("MyFile.pfx", System.Convert.FromBase64String(pfxString));
Другие вопросы по тегам