Partager via


Générer et exporter des certificats – Linux – OpenSSL

Cet article vous aide à créer un certificat racine auto-signé et à générer des fichiers .pem de certificats clients en utilisant OpenSSL. Si vous avez besoin à la place de fichiers .pfx et .cer, consultez les instructions Windows – PowerShell.

Prérequis

Pour suivre cet article, vous devez disposer d’un ordinateur exécutant OpenSSL.

Certificat racine auto-signé

Cette section vous aide à générer un certificat racine auto-signé. Après avoir généré le certificat, vous exportez le fichier de données de la clé publique du certificat racine.

  1. L’exemple suivant vous aide à générer le certificat racine auto-signé.

    openssl genrsa -out caKey.pem 2048
    openssl req -x509 -new -nodes -key caKey.pem -subj "/CN=VPN CA" -days 3650 -out caCert.pem
    
  2. Imprimez les données publiques du certificat racine auto-signé au format base64. Il s’agit du format pris en charge par Azure. Chargez ce certificat sur Azure dans le cadre des étapes de configuration de P2S.

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

Certificats clients

Dans cette section, vous générez le certificat utilisateur (certificat client). Les fichiers de certificat sont générés dans le répertoire local dans lequel vous exécutez les commandes. Vous pouvez utiliser le même certificat client sur chaque ordinateur client ou générer des certificats propres à chaque client. Il est primordial que le certificat client soit signé par le certificat racine.

  1. Pour générer un certificat client, utilisez les exemples suivants.

    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. Pour vérifier le certificat client, utilisez l’exemple suivant.

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

Étapes suivantes

Pour poursuivre les étapes de configuration, consultez l’authentification par certificat point à site.