Generowanie i eksportowanie certyfikatów — Linux (strongSwan)

Połączenia typu punkt-lokacja usługi VPN Gateway mogą używać certyfikatów do uwierzytelniania. W tym artykule pokazano, jak utworzyć certyfikat główny z podpisem własnym i wygenerować certyfikaty klienta przy użyciu strongSwan. Możesz również użyć programu PowerShell lub programu MakeCert.

Każdy klient musi mieć zainstalowany lokalnie certyfikat klienta, aby nawiązać połączenie. Ponadto informacje o kluczu publicznym certyfikatu głównego muszą zostać przekazane na platformę Azure. Aby uzyskać więcej informacji, zobacz Konfiguracja punkt-lokacja — uwierzytelnianie certyfikatu.

Instalowanie strongSwan

Poniższe kroki ułatwiają zainstalowanie strongSwan.

Podczas określania poleceń użyto następującej konfiguracji:

  • Komputer: Ubuntu Server 18.04
  • Zależności: strongSwan

Użyj następujących poleceń, aby zainstalować wymaganą konfigurację strongSwan:

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

Instrukcje interfejsu wiersza polecenia systemu Linux (strongSwan)

Poniższe kroki ułatwiają generowanie i eksportowanie certyfikatów przy użyciu interfejsu wiersza polecenia systemu Linux (strongSwan). Aby uzyskać więcej informacji, zobacz Dodatkowe instrukcje dotyczące instalowania interfejsu wiersza polecenia platformy Azure.

Wygeneruj certyfikat urzędu certyfikacji.

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

Wydrukuj certyfikat urzędu certyfikacji w formacie base64. Jest to format obsługiwany przez platformę Azure. Ten certyfikat należy przekazać na platformę Azure w ramach kroków konfiguracji P2S.

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

Wygeneruj certyfikat użytkownika.

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"

Wygeneruj pakiet p12 zawierający certyfikat użytkownika. Ten pakiet będzie używany w następnych krokach podczas pracy z plikami konfiguracji klienta.

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

Następne kroki

Kontynuuj konfigurację punkt-lokacja, aby utworzyć i zainstalować pliki konfiguracji klienta sieci VPN — Linux.