Leitura pública / chave privada da memória com OpenSSL

Estou usando chaves públicas / privadas no meu projeto para criptografar / descriptografar alguns dados.

Estou hospedando uma chave pública ("public.pem") em um servidor.

"public.pem" é assim:

-----BEGIN PUBLIC KEY-----
.....
.....
-----END PUBLIC KEY-----

Eu escrevi um lado do cliente que baixa essa chave pública e a salva em disco e depois chama o PEM_read_RSA_PUBKEY () do OpenSSL com um descritor File para esse arquivo. Essa operação funciona muito bem e o resultado é um objeto RSA pronto para criptografia.

Eu gostaria de evitar escrever a chave pública para o disco de cada vez (desde que eu já tenha o buffer na memória).

Como posso fazer a mesma operação sem salvar o buffer no disco? Eu notei uma função chamada: PEM_read_bio_RSAPublicKey (), mas não tenho certeza do uso da estrutura BIO. Eu estou no caminho certo?

Assim, a verdadeira questão seria: Como faço para ler uma chave pública / privada para um objeto RSA diretamente da memória e não de um descritor de arquivo.

questionAnswers(3)

yourAnswerToTheQuestion