Generowanie i eksportowanie certyfikatów — Linux — OpenSSL
Ten artykuł ułatwia tworzenie certyfikatu głównego z podpisem własnym i generowanie plików pem certyfikatu klienta przy użyciu biblioteki OpenSSL. Jeśli zamiast tego potrzebujesz plików pfx i .cer , zapoznaj się z instrukcjami programu Windows - PowerShell .
Wymagania wstępne
Aby użyć tego artykułu, musisz mieć komputer z systemem OpenSSL.
Certyfikat główny z podpisem własnym
Ta sekcja ułatwia wygenerowanie certyfikatu głównego z podpisem własnym. Po wygenerowaniu certyfikatu należy wyeksportować plik danych klucza publicznego certyfikatu głównego.
Poniższy przykład ułatwia wygenerowanie certyfikatu głównego z podpisem własnym.
openssl genrsa -out caKey.pem 2048 openssl req -x509 -new -nodes -key caKey.pem -subj "/CN=VPN CA" -days 3650 -out caCert.pem
Wydrukuj dane publiczne certyfikatu głównego z podpisem własnym w formacie base64. Jest to format obsługiwany przez platformę Azure. Przekaż ten certyfikat na platformę Azure w ramach kroków konfiguracji P2S.
openssl x509 -in caCert.pem -outform der | base64 -w0 && echo
Certyfikaty klienta
W tej sekcji wygenerujesz certyfikat użytkownika (certyfikat klienta). Pliki certyfikatów są generowane w katalogu lokalnym, w którym są uruchamiane polecenia. Można użyć tego samego certyfikatu klienta na każdym komputerze klienckim lub wygenerować certyfikaty specyficzne dla każdego klienta. Ważne jest, aby certyfikat klienta był podpisany przez certyfikat główny.
Aby wygenerować certyfikat klienta, użyj poniższych przykładów.
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")
Aby zweryfikować certyfikat klienta, użyj poniższego przykładu.
openssl verify -CAfile caCert.pem caCert.pem "${USERNAME}Cert.pem"
Następne kroki
Aby kontynuować kroki konfiguracji, zobacz Uwierzytelnianie certyfikatu typu punkt-lokacja.