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.
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
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.
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")
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.