Nginx con Certificado PFX

Publicado

Nginx no soporta certificados en este formato, es necesario convertir el archivo.

Extrae el certificado

Con openssl la tarea es muy fácil, sólo es necesario ejecutar dos comandos:

# Extrae el certificado público
openssl pkcs12 -in ./archivo.pfx -clcerts -nokeys -out public.crt
# Extrae la llave privada
openssl pkcs12 -in ./archivo.pfx -nocerts -nodes -out private.rsa

Con esto se obtienen dos archivos, el primero es el certificado público y el segundo es la llave privada.

Configura Nginx

A continuación se muestra un ejemplo de configuración básica para habilitar HTTPS en Nginx con los archivos obtenidos:

server {
  server_name example.org;
  listen 443 ssl;
  ssl_certificate /etc/nginx/ssl/public.crt;
  ssl_certificate_key /etc/nginx/ssl/private.rsa;
  ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers         HIGH:!aNULL:!MD5;
}