Générer et exporter des certificats – Linux (strongSwan)

Les connexions de passerelle VPN point à site peuvent utiliser des certificats pour l’authentification. Cet article vous explique comment créer un certificat racine auto-signé et générer des certificats clients à l’aide de strongSwan. Vous pouvez également utiliser PowerShell ou MakeCert.

Chaque client doit disposer d’un certificat client installé localement pour se connecter. En outre, les informations de clé publique du certificat racine doivent être chargées sur Azure. Pour plus d’informations, consultez Configuration point à site – Authentification par certificat.

Installer strongSwan

La procédure suivante vous permet d’installer strongSwan.

La configuration suivante a été utilisée lors de la spécification des commandes :

  • Ordinateur : Ubuntu Server 18.04
  • Dépendances : strongSwan

Utilisez les commandes suivantes pour installer la configuration strongSwan requise :

sudo apt-get update
sudo apt-get upgrade
sudo apt install strongswan
sudo apt install strongswan-pki
sudo apt install libstrongswan-extra-plugins
sudo apt install libtss2-tcti-tabrmd0

Instructions de l’interface CLI Linux (strongSwan)

La procédure suivante vous permet de générer et d’exporter des certificats à l’aide de l’interface CLI Linux (strongSwan). Pour plus d’informations, consultez Instructions supplémentaires pour installer l’interface Azure CLI.

Générez le certificat d’autorité de certification.

ipsec pki --gen --outform pem > caKey.pem
ipsec pki --self --in caKey.pem --dn "CN=VPN CA" --ca --outform pem > caCert.pem

Imprimez le certificat d’autorité de certification au format base64. C’est le format pris en charge par Azure. Vous chargez ce certificat dans Azure dans le cadre des étapes de configuration de P2S.

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

Générez le certificat de l’utilisateur.

export PASSWORD="password"
export USERNAME=$(hostnamectl --static)

ipsec pki --gen --outform pem > "${USERNAME}Key.pem"
ipsec pki --pub --in "${USERNAME}Key.pem" | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem --dn "CN=${USERNAME}" --san "${USERNAME}" --flag clientAuth --outform pem > "${USERNAME}Cert.pem"

Générez un fichier p12 contenant le certificat de l’utilisateur. Ce fichier sera utilisé au cours des étapes suivantes lors de l'utilisation des fichiers de configuration du client.

openssl pkcs12 -in "${USERNAME}Cert.pem" -inkey "${USERNAME}Key.pem" -certfile caCert.pem -export -out "${USERNAME}.p12" -password "pass:${PASSWORD}"

Étapes suivantes

Passez à votre configuration point à site pour Créer et installer les fichiers de configuration du client VPN – Linux.