Está en la página 1de 11

GUÍA

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

La máquina virtual donde se implantó Alfresco tiene los siguientes atributos:


• VirtualBox 5 (versión 5.2.10_Ubuntu r121806)
• 4 GB de RAM
• 3 procesadores
• Disco duro (VMDK) con tamaño virtual de 20 GB
• Sistema Operativo Ubuntu 18.04 server

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

Generar una clave privada y una clave pública.

1. Obtener la llave privada.

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.

Figura 1. Comando openssl para genera clave RSA.

El comando en sí es openssl genrsa y en este caso se están especificando dos parámetros -


out y 8192.

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.

Figura 2. Proceso de creación de la llave 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).

Figura 3. Clave privada que se creó.

2. Obtener la llave pública

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.

Figura 4. Comando para crear la clave pública.

Como se observa en la figura 5, se indica que se está escribiendo la clave y al finalizar, se


tiene la clave pública con el nombre que se indicó.

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).

Figura 6. Comando para crear un certificado.

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.

-days. Número de días que será válido el certificado.

-key. Clave privada a partir de la cual se generará el certificado.

-out. Nombre de archivo del certificado que se generará. Se puede elegir como
extensión .cer, .crt o .der.

Después de presionar enter iniciará la generación del certificado y se pedirá de manera


interactiva que se ingrese información que será incorporada al certificado (Figura 7). Algunos
campos se podrán dejar vacíos.

Los campos que se solicitan son los siguientes:

• Nombre del país (código de dos letras).


• Nombre del Estado o Provincia.
• Nombre de la Localidad (Ciudad).
• Nombre de la Organización (o Compañía).
• Nombre de la Unidad Organizacional.
• Nombre Común.
• Dirección de correo electrónico.

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.

Figura 8. Archivo de certificado.

Convertir certificado en formato DER (.cer, .crt, .der) a PEM

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.

Figura 10. Archivo .pem obtenido.

Convertir un certificado en formato PEM y una clave privada a


PKCS#12 (.pfx .p12)

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) .

Figura 11. Comando para obtener archivo .p12

Para crear el certificado, se debe ingresar una contraseña y verificar la misma


(figura 12).

6
Figura 12. Establecimiento de contraseña para el certificado.

Si ambas contraseñas introducidas son iguales, finaliza el proceso y se obtiene el


certificado .p12 (figura 13).

Figura 13. Certificado .p12 obtenido.

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

Linux: administración del sistema y explotación de los servicios de red


https://books.google.com.mx/books?id=MT0r8Od_-j8C&pg=PA270&lpg=PA270&dq=par
%C3%A1metros+openssl+-
new&source=bl&ots=8EKPeWLuN3&sig=uVibBieqqFjpSLWC1jA1gXU2icM&hl=es&sa=X&ve
d=2ahUKEwjNvPeV4cfdAhUSPa0KHeapAew4ChDoATABegQICRAB#v=onepage&q=par
%C3%A1metros%20openssl%20-new&f=false

Nota: Las páginas anteriores fueron consultadas entre el 18 y 19 de septiembre de 2018.

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

También podría gustarte