Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PARA LA CREACIÓN
DE UN CERTIFICADO
DE SOFTWARE P12
(AUTO FIRMADO).
JRGP
Índice de Contenido
Introducción.................................................................................................................................1
Entorno de implantación.............................................................................................................1
Software necesario.....................................................................................................................1
Cómo crear un certificado P12...................................................................................................2
Generar una clave privada y una clave pública.....................................................................2
1. Obtener la llave privada..................................................................................................2
2. Obtener la llave pública..................................................................................................3
Crear un certificado.................................................................................................................4
Convertir certificado en formato DER (.cer, .crt, .der) a PEM................................................5
Convertir un certificado en formato PEM y una clave privada a PKCS#12 (.pfx .p12)..........6
Referencias.................................................................................................................................8
Índice de imágenes.....................................................................................................................9
Introducción
En esta guía se explicará cómo generar un certificado P12 para poder firmar documentos de
manera electrónica.
En este caso se generan certificados auto firmados, es decir, que no son validados por un
tercero, esto porque los certificados son para uso interno y principalmente para pruebas.
Entorno de implantación
La generación de los certificados se hizo en una máquina virtual en un equipo con las
siguientes características:
• Equipo all-in-one HP EliteOne 800 G3 23.8-in Non-Touch AiO
• 8 GB de RAM
• Procesador Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz 64 bits
• Disco Duro de 1 TB (Se emplea una partición de 453 GB)
• Sistema operativo Ubuntu 18.04 LTS
Software necesario
Para la creación de los certificados se emplea Openssl. La versión que se utilizó fue la 1.1.0g
de noviembre de 2017.
1
Cómo crear un certificado P12
Utilizando el comando openssl genrsa -out nombre_clave.key 8192 (Figura 1), se genera
una clave RSA, la cual se empleará para obtener el certificado P12 y poder firmar de manera
electrónica.
Utilizando -out se especifica el nombre de salida del archivo de la clave RSA, mientras que
8192 se toma como numbits, es decir, el tamaño en bits de la clave privada a generar (el
valor por default es 512).
Como se observa en la siguiente imagen (Figura 2), después de presionar enter, se inicia la
generación de la clave privada.
2
Una vez concluido el proceso de creación, si no ocurrió ningún error, se tiene la clave privada
con el nombre que se especificó (Figura 3).
Una vez que se tiene la llave privada, se emplea el comando openssl rsa -in
nombre_clave.key -pubout > nombre_clave.pub (Figura 4) para extraer a un archivo la
clave pública que podrá ser distribuida.
3
Figura 5. Clave pública obtenida.
Crear un certificado
Un certificado debe ser validado con la firma de una tercera parte que certifique que la clave
pública sea auténtica. Para este caso, se creará un certificado auto firmado, ya que al ser
para pruebas, no se necesita que sea validado por un tercero.
El comando para crear el certificado es openssl req -new -x509 -days 1825 -key
nombre_clave.key -out nombre_clave.cer (Figura 6).
Algunos de los parámetros que se indicaron para la generación del certificado son:
x509. Es una utilidad de certificado de usos múltiples. En este caso indica que se desea un
certificado auto firmado y no una petición de validación.
-out. Nombre de archivo del certificado que se generará. Se puede elegir como
extensión .cer, .crt o .der.
4
Figura 7. Petición de datos para el certificado.
Para este caso, se indica en el nombre común el nombre de la persona que firmará con el
certificado que será creado.
Una vez introducidos todos los datos, se crea el certificado, como se aprecia en la figura 8.
Un archivo que debe generarse para posteriormente obtener el archivo .p12 es un archivo
con extensión .pem. El comando que debe utilizarse para crear el archivo .pem es openssl
x509 -in nombre_clave.cer -out nombre_clave.pem (figura 9).
5
Figura 9. Comando para obtener archivo .pem a partir de archivo .cer
Después de la ejecución del comando anterior, se obtiene el archivo .pem, como se observa
en la figura 10.
Finalmente, para generar el archivo .p12, se utiliza el comando openssl pkcs12 -export -out
nombre_clave.p12 -inkey nombre_clave.key -in nombre_clave.cer (Figura 11) .
6
Figura 12. Establecimiento de contraseña para el certificado.
7
Referencias
Generar y convertir claves y certificados con OpenSSL
https://picodotdev.github.io/blog-bitix/2014/02/generar-y-convertir-claves-y-certificados-con-
openssl/
OpenSSL
Cryptography and SSL/TLS Toolkit
https://www.openssl.org/docs/man1.0.2/apps/x509.html
8
Índice de imágenes
Figura 1. Comando openssl para genera clave RSA.................................................................2
Figura 2. Proceso de creación de la llave privada......................................................................2
Figura 3. Clave privada que se creó...........................................................................................3
Figura 4. Comando para crear la clave pública..........................................................................3
Figura 5. Clave pública obtenida................................................................................................3
Figura 6. Comando para crear un certificado.............................................................................4
Figura 7. Petición de datos para el certificado............................................................................5
Figura 8. Archivo de certificado...................................................................................................5
Figura 9. Comando para obtener archivo .pem a partir de archivo .cer.....................................5
Figura 10. Archivo .pem obtenido...............................................................................................6
Figura 11. Comando para obtener archivo .p12.........................................................................6
Figura 12. Establecimiento de contraseña para el certificado....................................................6
Figura 13. Certificado .p12 obtenido...........................................................................................7