在 Data Workbench 中使用自訂憑證

自訂憑證的使用指示。

Data Workbench 用戶端或伺服器所使用的憑證,都需由受信任的 CA (憑證授權中心) 簽署。Data Workbench 客戶會收到由 Visual Sciences CA 簽署的憑證。Data Workbench 軟體信任該憑證,因為 trust_ca_cert.pem (隨著 Insight 軟體一起提供,並儲存在伺服器和用戶端的 Certificates 目錄中) 包含 Visual Sciences CA 的​根 CA 憑證。當用戶端或伺服器使用 SSL 彼此通訊時,該憑證會用於軟體授權和驗證。只有 Visual Sciences CA 發行的憑證才能用於授權,而其他憑證則可用於通訊和驗證。Visual Sciences 之外的 CA 所發行的憑證在下文稱為​自訂憑證。

重要注意事項:​對於伺服器和用戶端,Data Workbench 軟體使用安裝於用戶端或伺服器的 Certificates 目錄中的憑證檔案,或是其設定中明確識別的憑證。不過,Windows Certificate Store 也可以用於用戶端。

以下指示說明使用自訂憑證在 Data Workbench 用戶端和伺服器之間通訊時應遵循的程序。並非每個細節都是硬性要求,程序中可運用不同的變化。不過,以下程序經測試成功。

設定自訂用戶端憑證

  1. 將發行 CA 的憑證新增至 trust_cert_ca.pem,該憑證安裝於用戶端的 Certificates 目錄中,並安裝於每個叢集中要使用此自訂憑證存取之每個伺服器的相同目錄。

  2. 為叢集中的每個伺服器取得自訂憑證,其條件如下:

    1. 將憑證格式化為 .pem 憑證。

    2. 憑證包含其金鑰且未加密 (亦即不含密碼/密碼短語)。

      憑證包含其金鑰,且有以下其中一行:

      BEGIN PRIVATE KEY 
      BEGIN RSA PRIVATE KEY
      

      從 .pem 憑證移除密碼短語的一種方法:

      openssl rsa  -in password-protected-cert.pem -out no-password-cert.pem 
      openssl x509 -in password-protected-cert.pem >> no-password.pem
      
    3. 憑證有 CN、O、OU 等,根據伺服器的 Access Control.cfg 檔案中適用於此用戶端的要求。

    4. 憑證發行時具有 *purpose **** client (或 server client)。

      若要確認憑證有 server 和/或 client 目的碼,可以使用以下命令:

      openssl verify -CAfile trust_ca_cert.pem -purpose sslserver -x509_strict custom_communications_cert.pem 
      openssl verify -CAfile trust_ca_cert.pem -purpose sslclient -x509_strict custom_communications_cert.pem
      

      對於伺服器憑證,這兩個命令都應該會產生:

      custom_communications_cert.pem: OK
      

      對於用戶端憑證,只需第二個命令就能產生 OK。

  3. 將憑證放在用戶端的 Certificates 目錄中。

  4. 對於您要使用此憑證的每個叢集,在 Insight.cfg 檔案中的 serverInfo 底下,確認 custom client cert 已命名如下:

    Servers = vector: 1 items 
      0 = serverInfo: 
        SSL Client Certificate = string:
    <my_custom_client_cert.pem>
    

設定自訂伺服器憑證

本節假設您的叢集已啟動且執行中、使用 Visual Sciences 發行的憑證,而且設定遵循常規 (例如主要伺服器的 Components for Processing Servers 目錄同步到所有 DPU 的 Components 目錄)。

  1. 將發行 CA 的憑證新增至 trust_cert_ca.pem,該憑證安裝於叢集中的每個伺服器上,並安裝於需要與此叢集通訊的每個用戶端上。

  2. 為叢集中的每個伺服器取得自訂憑證,其要求如下:

    1. 將自訂憑證格式化為 .pem 憑證。

    2. 憑證包含其金鑰且未加密 (亦即不含密碼/密碼短語)。

      憑證包含其金鑰,且有以下其中一行:

      BEGIN PRIVATE KEY 
      BEGIN RSA PRIVATE KEY
      

      從 .pem 憑證移除密碼短語的一種方法:

      openssl rsa  -in password-protected-cert.pem -out no-password-cert.pem 
      openssl x509 -in password-protected-cert.pem >> no-password.pem
      
    3. 憑證的 CN 與目前安裝於伺服器上的 server_cert.pem 相同。

    4. 憑證發行時具有 serverclient 目的碼。

      若要確認憑證有 server 和/或 client 目的碼,可以使用以下命令:

      openssl verify -CAfile trust_ca_cert.pem -purpose sslserver -x509_strict custom_communications_cert.pem 
      openssl verify -CAfile trust_ca_cert.pem -purpose sslclient -x509_strict custom_communications_cert.pem
      

      對於伺服器憑證,這兩個命令都應該會產生:

      custom_communications_cert.pem: OK
      

      對於用戶端憑證,只需第二個命令就能產生 OK。

  3. 將每個伺服器的自訂憑證安裝在伺服器的 Certificates 目錄中,做為 custom_communications_cert.pem。

  4. 使用文字編輯器,將以下一行新增至 ComponentsComponents for Processing Servers 目錄的 Communications.cfg 檔案中,直接加在第一行 (component = CommServer) 之下:

    Certificate = string: Certificates\\custom_communications_cert.pem
    
  5. 重新啟動所有伺服器。

關於憑證失敗警告

當 Insight 伺服器或用戶端尋找 Certificates 目錄中的 license 憑證時,它會嘗試針對 Insight CA 憑證的硬式編碼複本,來驗證所有憑證 (trust_ca_cert.pem 除外),這使得目錄中的任何自訂憑證都會驗證失敗。伺服器會發出此警告:

Certificate failed to verify. Error 20 at 0 depth. Desc: unable to get local issuer certificate. Cert details:

此警告可以安全地忽略。

本頁內容