Estoy usando Claves públicas/privadas en mi proyecto para cifrar/descifrar algunos datos.Lectura de clave pública/privada de la memoria con OpenSSL
Estoy alojando una clave pública ("public.pem") en un servidor.
"public.pem" tiene el siguiente aspecto:
-----BEGIN PUBLIC KEY-----
.....
.....
-----END PUBLIC KEY-----
me escribió un lado del cliente que descarga esta clave pública y guárdelo en el disco y luego llama PEM_read_RSA_PUBKEY de OpenSSL() con un descriptor de archivos en dicho archivo. Esta operación funciona muy bien y el resultado es un objeto RSA que está listo para el cifrado.
Me gustaría evitar escribir la clave pública en el disco cada vez (ya que tengo el búfer en la memoria ya).
¿Cómo puedo hacer la misma operación sin guardar el búfer en el disco? Noté una función llamada: PEM_read_bio_RSAPublicKey() pero no estoy seguro de su uso de la estructura BIO. ¿Estoy en el camino correcto?
Así que la verdadera pregunta sería: ¿Cómo leo una clave pública/privada de un objeto RSA directamente desde la memoria y no desde un descriptor de archivo?
Probé esa opción en este momento. El cifrado estaba bien, el descifrado no funcionaba. ¿La clave pública debe ser como la siguiente o necesito quitar la "BEGIN PUBLIC KEY" cuando la envío al cliente? ----- BEGIN PUBLIC KEY ----- ..... ..... ----- END CLAVE PÚBLICA ----- – user1144031
El enlace de la página man está roto :(. Alguien tiene el enlace actualizado? – digawp