全部產品
Search
文件中心

Server Load Balancer:產生CA認證

更新時間:Nov 28, 2025

在配置HTTPS監聽時,您可以使用自簽名的CA認證,並使用該CA認證簽發用戶端認證。

使用Open SSL產生CA認證

登入到任意一台安裝有OpenSSL工具的Linux機器。本文以Alibaba Cloud Linux 3為例,OpenSSL版本為1.1.1k。

  1. 執行以下命令,在/home目錄下建立一個ca目錄,並在ca目錄下建立四個子目錄。

    sudo mkdir /home/ca
    cd /home/ca
    sudo mkdir newcerts private conf server
    • newcerts目錄用於存放CA簽署過的數位憑證。

    • private目錄用於存放CA的私密金鑰。

    • conf目錄用於存放一些簡化參數用的設定檔。

    • server目錄存放伺服器憑證檔案。

  1. conf目錄下建立一個openssl.conf檔案。

    vim /home/ca/conf/openssl.conf

    openssl.conf檔案包含下列資訊。

     [ ca ]
     default_ca = foo
     [ foo ] 
     dir = /home/ca
     database = /home/ca/index.txt
     new_certs_dir = /home/ca/newcerts
     certificate = /home/ca/private/ca.crt
     serial = /home/ca/serial
     private_key = /home/ca/private/ca.key
     RANDFILE = /home/ca/private/.rand
     default_days = 365
     default_crl_days= 30
     default_md = sha256
     unique_subject = no
     policy = policy_any
     [ policy_any ]
     countryName = match
     stateOrProvinceName = match
     organizationName = match
     organizationalUnitName = match
     localityName = optional
     commonName = supplied
     emailAddress = optional
  2. 執行以下命令,產生私密金鑰Key檔案。

    cd /home/ca
    sudo openssl genrsa -out /home/ca/private/ca.key

    執行結果如下圖所示。image

  3. 執行以下命令,按照提示輸入所需資訊,然後按下斷行符號鍵產生認證請求csr檔案。

    sudo openssl req -new -key /home/ca/private/ca.key -out /home/ca/private/ca.csr 

    image

    說明

    Common Name需要輸入負載平衡的網域名稱。

  4. 執行以下命令,產生憑證crt檔案。

    sudo openssl x509 -req -days 365 -in /home/ca/private/ca.csr -signkey /home/ca/private/ca.key -out /home/ca/private/ca.crt
    重要

    ca.crt檔案為用於上傳到CLB的CA認證。

  5. 執行以下命令,為CA的Key設定起始序號,起始序號可以是四個字元。本樣本中設定為FACE。

    echo FACE | sudo tee /home/ca/serial
  6. 執行以下命令,建立CA鍵庫。

    sudo touch /home/ca/index.txt
  7. 執行以下命令,為移除用戶端認證建立一個認證撤銷列表。

    sudo openssl ca -gencrl -out /home/ca/private/ca.crl -crldays 7 -config "/home/ca/conf/openssl.conf"

    輸出為:

    Using configuration from /home/ca/conf/openssl.conf

為用戶端認證簽名

  1. 執行以下命令,在ca目錄內建立一個存放用戶端Key的目錄users

    sudo mkdir /home/ca/users
  2. 執行以下命令,為用戶端建立一個Key。

    sudo openssl genrsa -des3 -out /home/ca/users/client.key 2048
    說明

    建立Key時要求輸入pass phrase,這個是當前Key的口令,以防止本密鑰泄漏後被人盜用。兩次輸入同一個密碼。

  3. 執行以下命令,為用戶端Key建立一個認證簽章要求csr檔案。

    sudo openssl req -new -key /home/ca/users/client.key -out /home/ca/users/client.csr

    輸入該命令後,根據提示輸入STEP 2中輸入的pass phrase,然後根據提示輸入對應的資訊。

    說明

    A challenge password是用戶端認證口令,注意區分它和client.key。

  4. 執行以下命令,使用CA認證的Key為用戶端Key簽名。

    sudo openssl ca -in /home/ca/users/client.csr -cert /home/ca/private/ca.crt -keyfile /home/ca/private/ca.key -out /home/ca/users/client.crt -config "/home/ca/conf/openssl.conf"

    當出現確認是否簽名的提示時,兩次都輸入y

    image

  5. 執行以下命令,轉換認證為PKCS12檔案。

    sudo openssl pkcs12 -export -clcerts -in /home/ca/users/client.crt -inkey /home/ca/users/client.key -out /home/ca/users/client.p12

    按照提示輸入用戶端client.key的pass phrase。再輸入用於匯出認證的密碼。這個是用戶端認證的保護密碼,在安裝用戶端認證時需要輸入這個密碼。

  6. 執行以下命令,查看產生的用戶端認證。

     cd /home/ca/users
     ls