anterior índice siguiente

Apéndice D. PKCS#8 y EVP

Buena parte de las recomendaciones del PKCS#8 se encuentran implementadas en el directorio de EVP. Sin embargo no puede decirse que forme parte de esta librería puesto que las definiciones de las funciones que vamos a ver en este apéndice no se encuentran definidas en evp.h. De todas formas parece interesante que lo veamos.

Decir que OpenSSL implementa únicamente lo que el estándar define como Private-key information syntax y no la parte de Encrypted private-key information syntax. La estructura de datos que define la sintaxis implementada es la PKCS8_PRIV_KEY_INFO. Nosotros aprenderemos a inicializar simplemente una estructura de este tipo con una clave EVP y viceversa. Bueno, pues vamos a por lo primero. La función que vamos a utilizar es la siguiente:

  • PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8 (EVP_PKEY *pkey);

El ejemplo 1 habla por sí solo...




Ejemplo 1. Inicializar un objeto pkcs8 mediante una clave EVP.

No es difícil imaginar cómo obtener la clave de un objeto pkcs#8. La función es la siguiente:

  • EVP_PKEY *EVP_PKCS82EVP (PKCS8_PRIV_KEY_INFO *p8);

Pues nada, veamos cómo obtener la clave privada almacenada en un objeto pkcs#8...




Ejemplo 2. Obtener una clave privada almacenada en un objeto pkcs8.


anterior índice siguiente