Nos habrá pasado muchas veces, que nos pasan un certificado web en formato PFX y nos rompemos la cabeza para poder instalarlo en un servidor web apache o nginx.
Pues con esta pequeña entrada explico como extraer la clave privada, intermedia y publica del certificado PFX para poder utilizarlo en un servidor web apache o nginx.
Lanzamos estos comandos openssl para extraer las claves.
# Extraemos la clave pública
openssl pkcs12 -in ./certificado.pfx -clcerts -nokeys -out publica.crt
# Extraemos la clave intermedia
openssl pkcs12 -in ./certificado.pfx -clcerts -nokeys -chain -out intermedia.crt
# Extraemos la clave privada
openssl pkcs12 -in ./certificado.pfx -nocerts -nodes -out privada.rsa
Juntamos la clave intermedia y publica en un fichero fullchain.crt
cat intermedia.crt >> fullchain.crt
cat publica.crt >> fullchain.crt
Y creamos el fichero ssl.conf para utilizar el certificado en un nginx
server {
server_name example.org;
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/fullchain.crt;
ssl_certificate_key /etc/nginx/ssl/privado.rsa;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
}