產生和導出憑證 - Linux - OpenSSL
VPN 閘道 點對站 (P2S) 連線可以設定為使用憑證驗證。 跟證書公鑰會上傳至 Azure,而且每個 VPN 用戶端都必須在本機安裝適當的憑證檔案,才能連線。 本文可協助您建立自我簽署跟證書,並使用 OpenSSL 產生用戶端憑證。 如需詳細資訊,請參閱點對站設定 - 憑證驗證。
必要條件
若要使用本文,您必須有執行 OpenSSL 的電腦。
自我簽署跟證書
本節可協助您產生自我簽署跟證書。 產生憑證之後,您會匯出跟證書公鑰數據檔。
下列範例可協助您產生自我簽署跟證書。
openssl genrsa -out caKey.pem 2048 openssl req -x509 -new -nodes -key caKey.pem -subj "/CN=VPN CA" -days 3650 -out caCert.pem
以base64格式列印自我簽署跟證書公用數據。 這是 Azure 支援的格式。 將此憑證上傳至 Azure 作為 P2S 設定步驟的一部分。
openssl x509 -in caCert.pem -outform der | base64 -w0 && echo
用戶端憑證
在本節中,您會產生用戶憑證(用戶端憑證)。 憑證檔案會在您執行命令的本機目錄中產生。 您可以在每部用戶端計算機上使用相同的用戶端憑證,或產生每個用戶端特有的憑證。 關鍵是客戶端憑證是由跟證書簽署。
若要產生客戶端憑證,請使用下列範例。
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")
若要驗證客戶端憑證,請使用下列範例。
openssl verify -CAfile caCert.pem caCert.pem "${USERNAME}Cert.pem"
下一步
若要繼續設定步驟,請參閱 點對站憑證驗證。