Generera och exportera certifikat – Linux (strongSwan)

VPN Gateway-punkt-till-plats-anslutningar kan använda certifikat för att autentisera. Den här artikeln visar hur du skapar ett självsignerat rotcertifikat och genererar klientcertifikat med hjälp av strongSwan. Du kan också använda PowerShell eller MakeCert.

Varje klient måste ha ett klientcertifikat installerat lokalt för att ansluta. Dessutom måste den offentliga nyckelinformationen för rotcertifikatet laddas upp till Azure. Mer information finns i Punkt-till-plats-konfiguration – certifikatautentisering.

Installera strongSwan

Följande steg hjälper dig att installera strongSwan.

Följande konfiguration användes när kommandon angavs:

  • Dator: Ubuntu Server 18.04
  • Beroenden: strongSwan

Använd följande kommandon för att installera den nödvändiga strongSwan-konfigurationen:

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-instruktioner (strongSwan)

Följande steg hjälper dig att generera och exportera certifikat med hjälp av Linux CLI (strongSwan). Mer information finns i Ytterligare instruktioner för att installera Azure CLI.

Generera CA-certifikatet.

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

Skriv ut CA-certifikatet i base64-format. Det här är det format som stöds av Azure. Du laddar upp det här certifikatet till Azure som en del av P2S-konfigurationsstegen.

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

Generera användarcertifikatet.

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"

Generera ett p12-paket som innehåller användarcertifikatet. Det här paketet används i nästa steg när du arbetar med klientkonfigurationsfilerna.

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

Nästa steg

Fortsätt med din punkt-till-plats-konfiguration för att skapa och installera VPN-klientkonfigurationsfiler – Linux.