Generera och exportera certifikat – Linux (strongSwan)

Den här artikeln visar hur du skapar ett självsignerat rotcertifikat och genererar klientcertifikat med hjälp av strongSwan. Stegen i den här övningen hjälper dig att skapa .pem-certifikatfiler. Om du behöver .pfx - och .cer-filer i stället kan du läsa windows- PowerShell-instruktionerna .

För punkt-till-plats-anslutningar måste varje VPN-klient 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 punkt-till-plats-konfigurationen. Se Konfigurera P2S VPN-klienter: certifikatautentisering – Linux.