Compartir por


Generación y exportación de certificados: Linux: OpenSSL

Este artículo le ayuda a crear un certificado raíz autofirmado y a generar el certificado de cliente .pem mediante OpenSSL. Si en cambio necesita archivos .pfx y .cer, consulte las instrucciones de Windows PowerShell.

Requisitos previos

Para usar este artículo, debe tener un equipo que ejecute OpenSSL.

Certificado raíz autofirmado

Esta sección le ayuda a generar un certificado raíz autofirmado. Después de generar el certificado, exporta el archivo de datos de clave pública del certificado raíz.

  1. El ejemplo siguiente le ayuda a generar el certificado raíz autofirmado.

    openssl genrsa -out caKey.pem 2048
    openssl req -x509 -new -nodes -key caKey.pem -subj "/CN=VPN CA" -days 3650 -out caCert.pem
    
  2. Imprima los datos públicos del certificado raíz autofirmado en formato base64. Es el formato compatible con Azure. Cargue este certificado en Azure como parte de los pasos de configuración de P2S.

    openssl x509 -in caCert.pem -outform der | base64 -w0 && echo
    

Certificados de cliente

En esta sección, generará el certificado de usuario (certificado de cliente). Los archivos de certificado se generan en el directorio local en el que se ejecutan los comandos. Puede usar el mismo certificado de cliente en cada equipo cliente o generar certificados específicos de cada cliente. Es fundamental que el certificado de cliente esté firmado por el certificado raíz.

  1. Para generar un certificado de cliente, use los ejemplos siguientes.

    export PASSWORD="password"
    export USERNAME=$(hostnamectl --static)
    
    # Generate a private key
    openssl genrsa -out "${USERNAME}Key.pem" 2048
    
    # Generate a CSR (Certificate Sign Request)
    openssl req -new -key "${USERNAME}Key.pem" -out "${USERNAME}Req.pem" -subj "/CN=${USERNAME}"
    
    # Sign the CSR using the CA certificate and CA key
    openssl x509 -req -days 365 -in "${USERNAME}Req.pem" -CA caCert.pem -CAkey caKey.pem -CAcreateserial -out "${USERNAME}Cert.pem" -extfile <(echo -e "subjectAltName=DNS:${USERNAME}\nextendedKeyUsage=clientAuth")
    
  2. Para comprobar el certificado de cliente, use el ejemplo siguiente.

    openssl verify -CAfile caCert.pem caCert.pem "${USERNAME}Cert.pem"
    

Pasos siguientes

Para continuar con los pasos de configuración, consulte Autenticación de certificados de punto a sitio.