Преобразование.PFX в.PEM программно?

Мне нужно программно извлечь сертификаты и их закрытые ключи из хранилища сертификатов MS и как-то перевести их в формат.PEM. Я не хочу использовать OpenSSL в командной строке, так как я хотел бы сохранить все в памяти, избегая файлов.

Я могу экспортировать их из Windows в блоб PFX-формата, используя PFXExportCertStoreEx(). Я проверил это, записав его в файл и преобразовав его в.PEM с OpenSSL. Полученный файл.PEM работает нормально. Поэтому остающаяся проблема заключается в том, чтобы перевести их в формат.PEM в памяти.

Мы интегрировали другую библиотеку SSL, которая хочет.PEM. (Это не OpenSSL...) Так что я хотел бы достичь этого, не включая также источник OpenSSL в наш проект C++. Есть идеи?

1 ответ

Как насчет статической ссылки на файлы OpenSSL .lib?

Я адаптировал некоторые примеры, используя OpenSSL, чтобы сделать это, вы можете найти код C++ для преобразования pfx в pem здесь: https://github.com/michaelmotes/PKCS12toPEM

И этот файл содержит код взаимодействия VB.NET для преобразования PFX в PEM с использованием OpenSSL:

https://github.com/michaelmotes/libCurlVB.NET-native/blob/master/LibCurlDecl.vb

Другие вопросы по тегам