Generare ed esportare i certificati - Linux (strongSwan)
Questo articolo illustra come creare un certificato radice autofirmato e generare i certificati client usando strongSwan. I passaggi in questo esercizio prestano assistenza nell'ambito della creazione di file .pem per il certificato. Se invece sono necessari file .pfx e .cer, vedere le istruzioni Windows- PowerShell.
Per le connessioni da punto a sito, ogni client VPN deve avere un certificato client installato localmente. Inoltre, le informazioni sulla chiave pubblica del certificato radice devono essere caricate in Azure. Per altre informazioni, vedere Configurazione da punto a sito - autenticazione del certificato.
Installare strongSwan
La procedura seguente consente di installare strongSwan.
Per specificare i comandi, è stata usata la configurazione seguente:
- Computer: Server Ubuntu 18.04
- Dipendenze: strongSwan
Per installare la configurazione strongSwan richiesta, eseguire i comandi seguenti:
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
Istruzioni dell'interfaccia della riga di comando di Linux (strongSwan)
La procedura seguente consente di generare ed esportare certificati usando l'interfaccia della riga di comando di Linux (strongSwan). Per altre informazioni, vedere Istruzioni aggiuntive per installare l'interfaccia della riga di comando di Azure.
Generare il certificato della CA.
ipsec pki --gen --outform pem > caKey.pem
ipsec pki --self --in caKey.pem --dn "CN=VPN CA" --ca --outform pem > caCert.pem
Stampare il certificato della CA nel formato base64. Questo è il formato supportato da Azure. Il certificato viene caricato in Azure come parte dei passaggi di configurazione da punto a sito.
openssl x509 -in caCert.pem -outform der | base64 -w0 ; echo
Generare il certificato utente.
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"
Generare un'aggregazione p12 contenente il certificato utente. Questa aggregazione viene usata nei passaggi successivi quando si lavora con i file di configurazione del client.
openssl pkcs12 -in "${USERNAME}Cert.pem" -inkey "${USERNAME}Key.pem" -certfile caCert.pem -export -out "${USERNAME}.p12" -password "pass:${PASSWORD}"
Passaggi successivi
Continuare con la configurazione da punto a sito. Vedere Configurare i client VPN da punto a sito: autenticazione del certificato - Linux.