分享方式:


產生並匯出憑證:Linux:OpenSSL

本文可協助您建立自我簽署根憑證,並使用 OpenSSL 產生用戶端憑證 .pem 檔案。 如果您需要的是 .pfx 和 .cer 檔案,則請參閱 Windows- PowerShell 指示。

必要條件

若要使用本文,您必須有執行 OpenSSL 的電腦。

自我簽署根憑證

本節可協助您產生自我簽署根憑證。 產生此憑證之後,您會匯出根憑證公開金鑰資料檔。

  1. 下列範例可協助您產生自我簽署根憑證。

    openssl genrsa -out caKey.pem 2048
    openssl req -x509 -new -nodes -key caKey.pem -subj "/CN=VPN CA" -days 3650 -out caCert.pem
    
  2. 以 base64 格式列印自我簽署根憑證公用資料。 這是 Azure 支援的格式。 在 P2S 設定步驟的過程中,將此憑證上傳至 Azure。

    openssl x509 -in caCert.pem -outform der | base64 -w0 && echo
    

用戶端憑證

在本節中,您會產生使用者憑證 (用戶端憑證)。 系統會在您執行此命令的本機目錄中產生憑證檔案。 您可以在每部用戶端電腦上使用相同的用戶端憑證,或產生每個用戶端特有的憑證。 使用根憑證簽署用戶端憑證至關重要。

  1. 若要產生用戶端憑證,請使用下列範例。

    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")
    
  2. 若要驗證用戶端憑證,請使用下列範例。

    openssl verify -CAfile caCert.pem caCert.pem "${USERNAME}Cert.pem"
    

下一步

若要繼續設定步驟,請參閱點對站憑證驗證