Convertendo .PFX para .PEM programaticamente?

Eu preciso extrair programaticamente certificados e suas chaves privadas de um armazenamento de certificados MS e levá-los para o formato .PEM de alguma forma. Eu não quero usar o OpenSSL na linha de comando, como eu gostaria de manter tudo na memória, evitando arquivos.

Eu posso exportá-los do Windows para um blob de formato PFX usando PFXExportCertStoreEx (). Eu testei isso escrevendo-o em um arquivo e convertendo-o para .PEM com OpenSSL. O arquivo .PEM resultante funciona bem. Portanto, o problema restante é levá-los ao formato .PEM na memória.

Nós integramos uma biblioteca SSL diferente que quer o .PEM. (Não é OpenSSL ...) Então eu gostaria de realizar isso sem incluir também o código fonte OpenSSL em nosso projeto C ++. Alguma ideia?