Generare ed esportare i certificati - Linux - OpenSSL
Questo articolo indica come creare un certificato radice autofirmato e generare file .pem per il certificato client usando OpenSSL. Se invece sono necessari file .pfx e .cer, vedere le istruzioni Windows- PowerShell.
Prerequisiti
Per usare questo articolo, è necessario disporre di un computer che esegue OpenSSL.
Certificato radice autofirmato
Questa sezione illustra la generazione di un certificato radice autofirmato. Dopo aver generato il certificato, è possibile esportare il file di dati della chiave pubblica del certificato radice.
Usare l'esempio seguente per generare il certificato radice autofirmato.
openssl genrsa -out caKey.pem 2048 openssl req -x509 -new -nodes -key caKey.pem -subj "/CN=VPN CA" -days 3650 -out caCert.pem
Stampare i dati pubblici del certificato radice autofirmato in formato base64. Questo è il formato supportato da Azure. Caricare questo certificato in Azure nell'ambito dei passaggi della configurazione della connessione da punto a sito.
openssl x509 -in caCert.pem -outform der | base64 -w0 && echo
Certificati client
In questa sezione, si genera il certificato utente (certificato client). I file del certificano vengono generati nella directory locale in cui vengono eseguiti i comandi. È possibile usare lo stesso certificato clienti su ogni computer client o generare certificati specifici per ogni client. È fondamentale che il certificato client sia firmato dal certificato radice.
Per generare un certificato clienti, usare gli esempi seguenti.
export PASSWORD="password" export USERNAME=$(hostnamectl --static) # Generate a private key openssl genrsa -out "${USERNAME}Key.pem" 2048 # Generate a CSR (Certificate Sign Request) openssl req -new -key "${USERNAME}Key.pem" -out "${USERNAME}Req.pem" -subj "/CN=${USERNAME}" # Sign the CSR using the CA certificate and CA key openssl x509 -req -days 365 -in "${USERNAME}Req.pem" -CA caCert.pem -CAkey caKey.pem -CAcreateserial -out "${USERNAME}Cert.pem" -extfile <(echo -e "subjectAltName=DNS:${USERNAME}\nextendedKeyUsage=clientAuth")
Per verificare il certificato client, usare l'esempio seguente.
openssl verify -CAfile caCert.pem caCert.pem "${USERNAME}Cert.pem"
Passaggi successivi
Per continuare con i passaggi di configurazione, vedere l'autenticazione del certificato da punto a sito.