guiaxcaopenssl
guiaxcaopenssl
guiaxcaopenssl
OpenSSL
1
Primero es interesante conocer algunos parámetros de nuestro OpenSSL.
OpenSSL, como implementación del protocolo TLS, incorpora las denominadas cipher
suites, conjuntos de algoritmos simétricos, asimétricos y funciones Hash necesarios para
lograr una comunicación segura.
https://slproweb.com/products/Win32OpenSSL.html
Una vez descargado, instalar como cualquier otro programa sin mover ninguna de las
opciones que ya tiene por defecto el instalador.
1
https://www.mordor.world/2022/03/11/herramienta-xca-para-crear-y-gestionar-certificados/
https://kiuvox.com/como-crear-un-certificado-openssl-para-localhost-en-windows/
https://www.ibm.com/docs/es/rtw/9.0.0?topic=overview-creating-digital-certificate-openssl
Después de instalado abrir una consola o cmd con permisos de administrador y crear una
variable de configuración para OpenSSL con el siguiente comando:
Agregar una variable de entorno para poder utilizar el comando "openssl" en la consola.
Abrir la ventana para agregar variables de entorno del sistema operativo, depende de la
versión de Windows, y agregar la ruta del directorio "bin" al Path de las variables:
C:\Program Files\OpenSSL-Win64\bin
Desde la consola navegamos hasta ese directorio donde crearemos una llave RSA-2048
que luego servirá para generar el certificado, podes ocupar los nombres que quieras, yo le
llamaré "localCA.key", usamos el siguiente comando:
Ahora crearé el siguiente archivo pem que es el medio para codificar data, con nombre
"localCA.pem" y que tendrá una validez de 1,024 días para este ejemplo:
Como notarán estamos utilizando la llave que recién creamos para lograr generar el
certificado pem. Debemos introducir la contraseña de la llave.
[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
[dn]
C=VE
ST=Venezuela
L=Venezuela
O=UNIMAR
OU=Ingenieria
emailAddress=teleinfo@gmail.com
CN = teleinfo.local
El segundo archivo tendrá de nombre "v3.ext" que sirve para crear un certificado X509 v3,
con el siguiente contenido:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = teleinfo.local
Ya casi vamos llegando al final de lo que necesitamos, vamos a crear la llave y certificado
que firma solicitudes para el dominio, vamos a utilizar el archivo de respuesta
"server.csr.cnf" para crear los archivos "teleinfo.local.key" y "teleinfo.local.csr":
openssl req -new -sha256 -nodes -out teleinfo.local.csr -newkey rsa:2048 -keyout
teleinfo.local.key -config server.csr.cnf
openssl x509 -req -in teleinfo.local.csr -CA localCA.pem -CAkey localCA.key -CAcreateserial
-out teleinfo.local.crt -days 730 -sha256 -extfile v3.ext
También se pueden gestionar los certificados mediante git bash usando esta terminal que ya
incluye OpenSSL al instalar git en windows.
y seguir los pasos mencionados anteriormente o en Learn Microsoft
A través de XCA
XCA es una Herramienta gráfica que utiliza las librerías de OpenSSL para gestionar
nuestros certificados y creación de entidades certificadoras y certificados cliente/servidor.
Muy útil para almacenar todos nuestros certificados y no tener que montar ningún servidor
de PKI
Templates
En templates vamos a generar una plantilla para entidad certificadora y para certificados
cliente/servidor.
Nos pedirá que seleccionemos el tipo de template.
Para exportar cualquier certificado o clave privada, solo pinchar sobre el y darle a Export.
Indicaremos nombre, carpeta y el formato que deseamos (crt, cer, pem, p12,..).
Importar Certificados
Igual que al exportar, también podemos importar nuestros certificados para tenerlos todos
controlados.