Generieren und Exportieren von Zertifikaten – Linux (strongSwan)

VPN Gateway-Point-to-Site-Verbindungen können Zertifikate zur Authentifizierung verwenden. In diesem Artikel erfahren Sie, wie Sie mithilfe von strongSwan ein selbstsigniertes Stammzertifikat erstellen und Clientzertifikate generieren. Sie können auch PowerShell oder MakeCert verwenden.

Auf jedem Client muss lokal ein Clientzertifikat installiert sein, um eine Verbindung herstellen zu können. Darüber hinaus müssen die Informationen für den öffentlichen Schlüssel des Stammzertifikats in Azure hochgeladen werden. Weitere Informationen finden Sie unter Point-to-Site-Konfiguration – Zertifikatauthentifizierung.

Installieren von strongSwan

Die folgenden Schritte helfen Ihnen bei der Installation von strongSwan.

Die folgende Konfiguration wurde bei der Angabe von Befehlen verwendet:

  • Computer: Ubuntu Server 18.04
  • Abhängigkeiten: strongSwan

Verwenden Sie die folgenden Befehle, um die erforderliche strongSwan-Konfiguration zu installieren:

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

Linux CLI-Anweisungen (strongSwan)

Die folgenden Schritte helfen Ihnen beim Generieren und Exportieren von Zertifikaten mithilfe der Linux CLI (strongSwan). Weitere Informationen finden Sie in den zusätzlichen Anweisungen zum Installieren der Azure CLI.

Generieren des Zertifizierungsstellenzertifikats

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

Drucken Sie das Zertifizierungsstellenzertifikat im Base64-Format. Dies ist das Format, das von Azure unterstützt wird. Sie laden dieses Zertifikat im Rahmen der Schritte für die P2S-Konfiguration in Azure hoch.

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

Generieren Sie das Benutzerzertifikat.

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"

Generieren Sie ein p12-Paket mit dem Benutzerzertifikat. Dieses Paket wird in den nächsten Schritten bei der Arbeit mit den Clientkonfigurationsdateien verwendet.

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

Nächste Schritte

Fahren Sie mit Ihrer Point-to-Site-Konfiguration zum Erstellen und Installieren von VPN-Clientkonfigurationsdateien unter Linux fort.