全部產品
Search
文件中心

Server Load Balancer:產生CA認證

更新時間:Jun 19, 2024

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

使用Open SSL產生CA認證

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

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

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

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

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

  • 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 = md5
     unique_subject = no
     policy = policy_any
     [ policy_any ]
     countryName = match
     stateOrProvinceName = match
     organizationName = match
     organizationalUnitName = match
     localityName = optional
     commonName = supplied
     emailAddress = optional
  • 執行以下命令,產生私密金鑰Key檔案。

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

    執行結果如下圖所示。image

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

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

    image

    說明

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

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

    sudo openssl x509 -req -days 365 -in private/ca.csr -signkey private/ca.key -out private/ca.crt
  • 執行以下命令,為CA的Key設定起始序號,起始序號可以是四個字元。本樣本中設定為FACE。

    sudo echo FACE > serial
  • 執行以下命令,建立CA鍵庫。

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

    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 users
  2. 執行以下命令,為用戶端建立一個Key。

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

    建立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 users
     ls