Generera och exportera certifikat – Linux – OpenSSL
Den här artikeln hjälper dig att skapa ett självsignerat rotcertifikat och generera .pem-filer för klientcertifikat med Hjälp av OpenSSL. Om du behöver .pfx - och .cer-filer i stället kan du läsa windows- PowerShell-instruktionerna .
Förutsättningar
Om du vill använda den här artikeln måste du ha en dator som kör OpenSSL.
Självsignerat rotcertifikat
Det här avsnittet hjälper dig att generera ett självsignerat rotcertifikat. När du har genererat certifikatet exporterar du den offentliga nyckelfilen för rotcertifikatet.
I följande exempel kan du generera det självsignerade rotcertifikatet.
openssl genrsa -out caKey.pem 2048 openssl req -x509 -new -nodes -key caKey.pem -subj "/CN=VPN CA" -days 3650 -out caCert.pem
Skriv ut självsignerade offentliga rotcertifikatdata i base64-format. Det här är det format som stöds av Azure. Ladda upp det här certifikatet till Azure som en del av dina P2S-konfigurationssteg .
openssl x509 -in caCert.pem -outform der | base64 -w0 && echo
Klientcertifikat
I det här avsnittet genererar du användarcertifikatet (klientcertifikatet). Certifikatfiler genereras i den lokala katalogen där du kör kommandona. Du kan använda samma klientcertifikat på varje klientdator eller generera certifikat som är specifika för varje klient. Det är viktigt att klientcertifikatet signeras av rotcertifikatet.
Använd följande exempel för att generera ett klientcertifikat.
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")
Använd följande exempel för att verifiera klientcertifikatet.
openssl verify -CAfile caCert.pem caCert.pem "${USERNAME}Cert.pem"
Nästa steg
Information om hur du fortsätter konfigurationsstegen finns i Punkt-till-plats-certifikatautentisering.