排解憑證相關問題

您可能會在 Google Cloud Directory Sync (GCDS) 記錄檔中看到以下憑證相關錯誤:

  • sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
  • ldap_simple_bind_s() failed: Strong Authentication Required

請按照下列步驟修正這些錯誤。

本頁內容

修正憑證相關錯誤

Microsoft Windows 的操作步驟

更新 vmoption 檔案

  1. 關閉「設定管理員」
  2. 在 GCDS 安裝目錄中,開啟 sync-cmd.vmoptionsconfig-manager.vmoptions 檔案。

    安裝目錄通常是 C:\Program Files\Google Cloud Directory Sync

  3. 編輯上述檔案,在其中新增下列資訊:

    -Djavax.net.ssl.trustStoreProvider=SunMSCAPI
    -Djavax.net.ssl.trustStoreType=Windows-ROOT
    -Dcom.sun.jndi.ldap.connect.pool.protocol=plain ssl
    -Dcom.sun.jndi.ldap.connect.pool.authentication=none simple

  4. 重新啟動「設定管理員」,然後前往「LDAP 設定」頁面。
  5. 為「連線類型」指定 LDAP+SSL
  6. 在「通訊埠」部分,選擇下列任一選項:
    • 如果原先使用 389,請指定 636
    • 如果原先使用 3268,請指定 3269
  7. 按一下「測試連線」
  8. 如果收到以下錯誤:
    • 憑證錯誤:在執行 GCDS 的電腦上,確認使用的是 Windows 信任的憑證。接著,繼續按照本頁下方的「步驟 2:匯入伺服器憑證」操作。
    • 憑證撤銷檢查錯誤:請按照「GCDS 如何檢查憑證撤銷清單」中的步驟操作。
    • 其他錯誤 (例如網路錯誤):請參閱「排解 GCDS 常見問題」。

匯入伺服器憑證

您也可以透過下列步驟,為使用自行簽署憑證的 LDAP 伺服器或 HTTP Proxy 匯入憑證。

  1. 登入網域控制器並開啟命令提示字元。
  2. 如要匯出網域控制器憑證,請輸入下列指令:

    certutil -store My DomainController dccert.cer

  3. dccert.cer 檔案複製到安裝 GCDS 的伺服器。
  4. 以管理員身分開啟命令提示字元。
  5. 如要開啟 GCDS Java Runtime Environment (JRE) 安裝資料夾,請輸入下列指令:

    cd "c:\Program Files\Google Cloud Directory Sync\jre"

    如果您在 64 位元版本的 Windows 上執行 32 位元版本的 GCDS,請使用 cd "c:\Program Files (x86)\Google Cloud Directory Sync\jre"

  6. 如要匯入網域控制器的憑證,請輸入下列指令:

    bin\keytool -keystore lib\security\cacerts -storepass changeit -import -file c:\dccert.cer -alias mydc

    如要匯入多個憑證,請使用 mydc 以外的其他別名重複執行上述步驟。

  7. 輸入 Yes 即可信任該憑證。
  8. 關閉「設定管理員」
  9. 在 GCDS 安裝目錄中,使用文字編輯器開啟 sync-cmd.vmoptionsconfig-manager.vmoptions 檔案。
  10. 將下列資訊分別從上述檔案中移除:

    -Djavax.net.ssl.trustStoreProvider=SunMSCAPI
    -Djavax.net.ssl.trustStoreType=Windows-ROOT

    移除上述資訊後,GCDS 就會使用儲存在 lib/security/cacerts 的憑證,而非 Windows 系統中的憑證。

  11. 開啟設定管理員,然後前往「LDAP 設定」頁面,並按一下「測試連線」
  12. 如果系統仍然顯示憑證相關錯誤訊息,您可能必須匯入貴機構的憑證授權單位 (CA) 憑證,而不是網域控制站的憑證。如要執行此操作,請重複上述步驟,但改為匯出及匯入 CA 憑證。

Linux 適用的步驟

您也可以透過下列步驟,為使用自行簽署憑證的 LDAP 伺服器或 HTTP Proxy 匯入憑證。

  1. 登入網域控制器並開啟命令提示字元。
  2. 如要找出網域憑證,請輸入下列指令:

    certutil -store My DomainController dccert.cer

  3. dccert.cer 檔案複製到安裝 GCDS 的伺服器。
  4. 如要開啟 GCDS Java Runtime Environment (JRE) 安裝資料夾,請開啟命令提示字元並輸入下列指令:

    cd ~/GoogleCloudDirSync/jre

  5. 如要匯入網域控制器的憑證,請輸入下列指令:

    bin/keytool -keystore lib/security/cacerts -storepass changeit -import -file ~/dccert.cer -alias mydc

    如要匯入多個憑證,請使用 mydc 以外的其他別名重複執行上述步驟。

  6. 輸入 Yes 即可信任該憑證。
  7. 關閉「設定管理員」
  8. 在 GCDS 安裝目錄中,使用文字編輯器開啟 sync-cmd.vmoptionsconfig-manager.vmoptions 檔案。

    安裝目錄通常是 ~/GoogleCloudDirSync

  9. 將下列資訊分別從上述檔案中移除:

    -Djavax.net.ssl.trustStoreProvider=SunMSCAPI
    -Djavax.net.ssl.trustStoreType=Windows-ROOT

    移除上述資訊後,GCDS 就會使用儲存在 lib/security/cacerts 的憑證,而非 Windows 系統中的憑證。

  10. 開啟設定管理員,然後前往「LDAP 設定」頁面,並按一下「測試連線」
  11. 如果系統仍然顯示憑證相關錯誤訊息,您可能必須匯入貴機構的憑證授權單位 (CA) 憑證,而不是網域控制站的憑證。如要執行此操作,請重複上述步驟,但改為匯出及匯入 CA 憑證。

GCDS 如何檢查憑證撤銷清單

GCDS 連線至 Google API (透過 HTTPS) 與 LDAP over SSL 時,需驗證安全資料傳輸層 (SSL) 憑證,方法是透過 HTTP 從憑證授權單位擷取憑證撤銷清單 (CRL)。有時驗證會失敗,這通常是因為 Proxy 或防火牆封鎖了 HTTP 要求。

請確認 GCDS 伺服器可透過 HTTP (通訊埠 80) 存取下列網址:

  • http://crl.pki.goog
  • http://crls.pki.goog
  • http://c.pki.goog

如要進一步瞭解目前的 CRL,請參閱「CRL 檢查」。如果您使用自己的 LDAP over SSL 憑證,日後可能需要其他網址。

如果您不允許使用者存取 CRL,可以關閉 CRL 檢查功能:

  1. 在 GCDS 安裝目錄中,使用文字編輯器開啟 <code class="notranslate">sync-cmd.vmoptions</code><code class="notranslate">config-manager.vmoptions</code> 檔案。

    安裝目錄通常是 <code class="notranslate">C:\Program Files\Google Cloud Directory Sync</code> (Windows) 或 <code class="notranslate">~/GoogleCloudDirSync</code> (Linux)。

  2. 在檔案中加入下列幾行內容:

    -Dcom.sun.net.ssl.checkRevocation=false
    -Dcom.sun.security.enableCRLDP=false
    

改用 LDAP + SSL 後同步處理速度變慢

如果您改用了 LDAP + SSL,但同步處理速度變慢,請按照下列步驟操作:

  1. 關閉設定管理員。
  2. 在 GCDS 安裝目錄中,使用文字編輯器開啟 <code class="notranslate">sync-cmd.vmoptions</code><code class="notranslate">config-manager.vmoptions</code> 檔案。

    安裝目錄通常是 <code class="notranslate">C:\Program Files\Google Cloud Directory Sync</code> (Windows) 或 <code class="notranslate">~/GoogleCloudDirSync</code> (Linux)。

  3. 編輯上述檔案,在其中新增下列資訊:

    -Dcom.sun.jndi.ldap.connect.pool.protocol=plain ssl
    -Dcom.sun.jndi.ldap.connect.pool.authentication=none simple
    
  4. 儲存檔案並重新嘗試同步處理。

在 Microsoft ADV190023 更新後確認驗證作業正常

如果您使用 Microsoft Active Directory 時已開啟通道繫結和 LDAP 簽署功能,就必須採取額外步驟,確保 GCDS 透過 SSL 使用 LDAP 進行驗證,否則 GCDS 將無法連線至 Active Directory,您的同步處理作業也會失敗。即使您先前已使用標準 LDAP 驗證機制執行同步處理作業,仍須完成這些步驟;如要進一步瞭解 Microsoft 安全通報 ADV190023,請參閱 Microsoft 說明文件。

如果您已成功使用 LDAP over SSL 進行驗證,則無須採取任何步驟。

步驟 1:在 Active Directory 中啟用傳輸層安全標準 (TLS)

傳輸層安全標準 (TLS) 和安全資料傳輸層 (SSL) 這兩個詞經常是互通的。

如要在 Active Directory 中啟用傳輸層安全標準 (TLS),請參閱下列 Microsoft 文章:

步驟 2:確認使用可信任的憑證

為您的網域控制站簽署憑證的憑證授權單位 (CA) 必須受到 GCDS 信任,而 GCDS 信任大多數知名的網際網路 CA (例如 Verisign、Comodo 和 Let's Encrypt)。如果您使用的是這些 CA,即可略過這個步驟。

如果您使用的 CA 未獲得信任,或者您使用的是自己的根 CA,請按照修正憑證相關錯誤中的步驟操作。

步驟 3:設定 Configuration Manager

  1. 開啟「設定管理員」,然後前往「LDAP Configuration」(LDAP 設定) 頁面。
  2. 在「連線類型」設定中,指定「LDAP + SSL」連線類型。
  3. 在「Port」(通訊埠) 設定中,指定「636」(如果原先使用 389) 或是「3269」(如果原先使用 3268)。
  4. 按一下「測試連線」


Google、Google Workspace 和其他相關符號及標誌均為 Google LLC 的商標,所有其他公司和產品名稱則是與個別公司關聯的商標。