Cómo descifrar una clave privada almacenada en un archivo de formato PEM

2

Administro un sistema que almacena claves privadas RSA.
El usuario puede insertar las claves ya sea encriptadas o en texto claro (aunque siempre es PEM). el usuario también inserta una frase de contraseña.

utilizando la API de openSSL ( y no CLI ), tengo dos preguntas:

  1. hay una API que recibe una clave PEM y se devuelve si la clave está encriptada
  2. ¿hay alguna API que reciba una clave cifrada (en formato PEM) + frase de contraseña y devuelva la clave sin cifrar?

Estaba buscando mucho en los ejemplos y wikis, pero no encontré lo que necesito

Amigal

    
pregunta amigal 24.05.2017 - 08:56
fuente

2 respuestas

0

Bueno ...

como sugirió Sjoerd en su respuesta, la función PrivateKey PEM_write_ (bio_) hace el trabajo:

parece que al llamar a PrivateKey PEM_read_ (bio_), el openSSL mantiene la clave clara (si la función obtiene un archivo que contiene una clave cifrada, se requiere la contraseña utilizada para la codificación ....

ahora, se trata de los parámetros dados a la PrivateKey PEM_write_ (bio_):
1. Si se proporciona una frase de contraseña, la clave se cifra con la frase de contraseña suministrada y se copia en un archivo.
2. Si no se proporciona una frase de contraseña, la clave se copia de forma clara en el archivo.

    
respondido por el amigal 24.05.2017 - 15:27
fuente
1

La función PEM_read_ (bio_) PrivateKey lee una clave privada encriptada o no encriptada. Supongo que PEM_write_PrivateKey lo escribe de nuevo.

    
respondido por el Sjoerd 24.05.2017 - 09:20
fuente

Lea otras preguntas en las etiquetas