Imprimir
Categoría: Libreria Criptográfica OpenSSL
Visto: 2089

La documentación de OpenSSL y por momentos uno no sabe qué funciones debe utilizar. Para compensar esto, aquí describo los pasos para encriptar, desencriptar un texto, generar un par de claves y la solicitud para el certificado.

 Nota: Por razones legales, no puedo incluir en esta página el código fuente original que realiza cada una de las siguientes funciones. Por ese motivo, solo indico los pasos y las funciones de OpenSSL que utilice.

Encriptar un texto utilizando BlowFish (Devuelve el resultado en base 64)

Desencriptar un texto utilizando BlowFish (La entrada está en base 64)


En este caso, no tengo forma de determinar la longitud de los datos antes de leer el BIO Cipher. Pero siempre la longitud del texto en base64 va a ser mayor al texto original. Asi que con solo enviar un buffer del tamaño del texto en base64 solucionamos el problema.

Generación de una clave privada RSA

Genera un archivo con una clave privada RSA de 2048 bits. La misma es encriptada con TripleDES en CBC.
Recibe el path de la clave privada y una contraseña.

Generación de una solicitud de Certificado (request)

El request es generado con el formato PKCS #10.
Recibe el path del archivo con la clave privada (en formato DER) y la contraseña.

Leer el campo Subject (DN) de un certificado

Recibe el path del certificado en formato X509.3 (PEM) y un buffer con su tamaño.

Firmar un texto utilizando un certificado y la clave privada

El formato de la clave privada debe ser DER y el del certificado asociado a la clave privada debe ser X509.3 (PEM)