如果您需要在網站上的用戶端憑證,或如果您使用 Windows Server 2003 中的 IAS,用戶端無法進行連線

重要本文包含有關如何修改登錄的資訊。請確定您在修改之前,先備份登錄。請確定您知道如何在發生問題時還原登錄。如需有關如何備份、 還原和修改登錄的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
Microsoft Windows 登錄256986說明

狀況

請考慮下列案例。

狀況1

  • 您有使用安全通訊端層 (SSL) 通訊協定來加密用戶端連線的 Microsoft Internet Information Services (IIS) 6.0 Web 站台。
  • 需要用戶端憑證] 選項會在WebSiteName屬性] 對話方塊的 [安全通訊] 對話方塊中選取。
在這個案例中,您可能會遇到下列徵狀︰
  • 用戶端無法成功連線至網站。
  • 在主控網站的 Microsoft Windows Server 2003 電腦上,會記錄下列警告事件︰
注意根據預設,將不會記錄安全通道 (Schannel) 警告事件。如需有關如何設定 Schannel 事件的記錄功能的詳細資訊,請參閱 < 其他資訊 > 一節。

狀況2

您使用 Microsoft Windows Server 2003 的電腦正在執行 Microsoft 網際網路驗證服務 (IAS) 來支援驗證的無線網路。在這個案例中,您可能會遇到下列徵狀︰
  • IAS 伺服器無法通過驗證的用戶端。 因此,無線用戶端電腦無法連線到無線網路成功。
  • IAS 伺服器上,會記錄類似下列的警告事件︰
  • IAS 伺服器上,可能會記錄類似下列的警告事件的事件︰
注意根據預設,將不會記錄安全通道 (Schannel) 警告事件。如需有關如何設定 Schannel 事件的記錄功能的詳細資訊,請參閱 < 其他資訊 > 一節。

原因

如果 Web 伺服器或 IAS 伺服器中包含許多受信任的根憑證清單中的項目,可能會發生這個問題。如果下列情況成立,伺服器會傳送受信任的憑證授權單位的清單給用戶端︰
  • 伺服器會使用傳輸層安全性 (TLS) / SSL 通訊協定加密網路流量。
  • 用戶端憑證所需的驗證,驗證信號交換過程。
這份信任的憑證授權單位表示的伺服器可以接受的用戶端憑證授權單位。若要由伺服器進行驗證,用戶端必須是根憑證伺服器的清單中的憑證鏈結中的憑證。

目前,Schannel 安全性封裝支援信任的憑證授權單位清單的最大大小是 12,228 (0x3000) 個位元組。

Schannel 會藉由搜尋本機電腦的受信任的根憑證授權單位存放區中建立受信任的憑證授權單位的清單。每個受信任的用戶端驗證用途的憑證新增到清單中。如果此清單的大小超過 12,228 個位元組,Schannel 記錄警告事件識別碼 36885。然後,Schannel 截斷的受信任的根憑證清單,並將此截斷的清單傳送到用戶端電腦。

當用戶端電腦收到的受信任的根憑證被截斷的清單時,用戶端電腦可能沒有存在於受信任的憑證簽發者的鏈結中的憑證。例如,用戶端電腦可能會有對應至 Schannel 截斷的受信任的憑證授權單位清單從受信任的根憑證的憑證。因此,IAS 伺服器無法驗證用戶端。

此 hotfix 會增加 Schannel 安全性緩衝區 16k。如果您超出此限制時,您仍然必須本文 < 徵狀一一節所述的問題。這項變更也已加入 Windows Server 2008 與 Windows Server 2008 R2。如下所述的因應措施會一併套用到 Windows Server 2008 及 Windows Server 2008 R2。


解決方案

Hotfix 資訊

已經可以從 Microsoft 取得支援的 hotfix。不過,其旨在修正本文所述的問題。它只適用於發生此特定問題的系統上。此 hotfix 可能會接受其他測試。因此,如果此問題不會嚴重影響,我們建議您等候下一步的 Windows Server 2003 service pack 包含此 hotfix。

若要立即解決這個問題,請連絡 Microsoft 客戶支援服務 」 取得 hotfix。如需 Microsoft 客戶支援服務電話號碼以及支援費用的相關資訊的完整清單,請造訪下列 Microsoft 網站︰注意 在特殊的情況下,如果 Microsoft 支援專業人員認為某特定更新程式可以解決您的問題時,可能就不會收取一般因支援電話所產生的費用。收取支援費用會套用,如果有其他支援問題是,不能限定的特定更新程式。

先決條件

若要套用此 hotfix,您必須有 Windows Server 2003 Service Pack 1 (SP1)] 或 [Windows Server 2003 Service Pack 2 (SP2) 安裝在電腦上。如需有關如何取得最新的 service pack,Windows Server 2003 的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文︰

如何取得最新的 service pack,Windows Server 2003 的889100

重新啟動需求

您必須套用此 hotfix 之後,請重新啟動電腦。

Hotfix 取代資訊

此 hotfix 不會取代任何其他 hotfix。

檔案資訊

此 hotfix 的英文版具有下列表格中所列檔案屬性 (或較新的檔案屬性)。這些檔案的日期和時間會以國際標準時間 (UTC) 格式列出。當您檢視檔案資訊時,會將它轉換為本地時間。若要查看 UTC 與當地時間的時差,請在 [控制台] 中的日期和時間項目使用 [時區] 索引標籤。
Windows Server 2003 sp1 x86 為基礎的版本
檔案名稱檔案版本檔案大小日期時間平台
Schannel.dll5.2.3790.2971144,89610-Jul-200717:27x86
Windows Server 2003 sp2 以 x86 為基礎的版本
檔案名稱檔案版本檔案大小日期時間平台
Schannel.dll5.2.3790.4115147,45610-Jul-200717:51x86
Windows Server 2003 sp1 的 x64 架構版本
檔案名稱檔案版本檔案大小日期時間平台服務分支
Schannel.dll5.2.3790.2971254,46410-Jul-200703:15x64不適用
Wschannel.dll5.2.3790.2971144,89610-Jul-200703:15x86WOW
Windows Server 2003 sp2 的 x64 架構版本
檔案名稱檔案版本檔案大小日期時間平台服務分支
Schannel.dll5.2.3790.2971254,46410-Jul-200703:15x64不適用
Wschannel.dll5.2.3790.2971144,89610-Jul-200703:15x86WOW
具有 SP1 的 Windows Server 2003 Itanium 版本
檔案名稱檔案版本檔案大小日期時間平台服務分支
Schannel.dll5.2.3790.2971466,43210-Jul-200703:16IA-64不適用
Wschannel.dll5.2.3790.2971144,89610-Jul-200703:16x86WOW
Windows Server 2003 sp2 的 itanium 型版本
檔案名稱檔案版本檔案大小日期時間平台服務分支
Schannel.dll5.2.3790.4115466,43210-Jul-200703:24IA-64不適用
Wschannel.dll5.2.3790.4115147,45610-Jul-200703:24x86WOW

因應措施

要解決這個問題,請使用下列方法之一,視您的情況。

方法 1︰ 移除部分信任的根憑證

如果您的環境中未使用部分信任的根憑證,移除它們從 Web 伺服器,或從 IAS 伺服器。若要執行這項操作,請參考下列步驟:
  1. 按一下 [開始],按一下 [執行]、 輸入mmc,然後按一下[確定]
  2. 在 [檔案] 功能表中,按一下 [新增/移除嵌入式管理單元],然後按一下 [新增
  3. 在 [新增獨立嵌入式管理單元] 對話方塊中,按一下 [憑證],然後按一下新增
  4. 按一下 [電腦帳戶,按一下 [下一步,,然後按一下 [完成]
  5. 按一下 [關閉],然後按一下 [確定]
  6. 在 Microsoft 管理主控台 (MMC) 嵌入式管理單元的主控台根目錄] 下展開 [憑證 (本機電腦),展開 [信任的根憑證授權],然後按一下憑證
  7. 移除您不需要有的受信任的根憑證。若要執行這項操作,憑證上按一下滑鼠右鍵、 按一下 [刪除],然後按一下[是]確認移除的憑證。
注意有某些由 Windows 所需的根憑證。如需詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文︰

293781所需的 Windows Server 2003、 Windows XP 和 Windows 2000 受信任的根憑證

方法 2︰ 設定群組原則來封鎖的本機電腦上的受信任的憑證授權單位清單

如果 IAS 伺服器或 Web 伺服器是網域的成員,您可以建立原則,以使要略過伺服器的本機電腦上的受信任的憑證授權單位清單。當您套用此原則時,受影響的伺服器和用戶端只信任企業根憑證授權單位存放區中的憑證。因此,您不必修改個別的電腦。

注意這個方法有效,只有當所有用戶端電腦是從同一個 Active Directory 目錄服務網域或 Active Directory 樹系。群組原則不會套用到不在同一個 Active Directory 樹系中的電腦。


若要建立此原則,請依照下列步驟執行。

步驟 1︰ 建立群組原則] 物件

  1. 登入網域控制站,然後再啟動 [Active Directory 使用者和電腦的工具。若要這麼做,按一下 [開始],按一下 [執行]、 輸入dsa.msc,然後按一下[確定]
  2. 以滑鼠右鍵按一下您要設定 [群組原則] 物件的容器,然後按一下 [內容。例如,以滑鼠右鍵按一下網域控制站,或以滑鼠右鍵按一下組織單位容器。
  3. 按一下 [群組原則] 索引標籤,然後按一下 [新增]
  4. 輸入描述性的名稱為 [原則],然後按 ENTER 鍵。
  5. 按一下 [編輯] 以啟動 「 群組原則物件編輯器]。
  6. 展開 [電腦設定] 展開 [ Windows 設定、 展開 [安全性設定],然後按一下 [公開金鑰原則
  7. 以滑鼠右鍵按一下 [信任的根憑證授權],然後按一下 [內容
  8. 按一下 [企業根憑證授權單位],然後按一下[確定]
  9. 結束 [群組原則物件編輯器]。
  10. 按一下[確定]以關閉 [ ObjectName屬性] 對話方塊。

步驟 2︰ 新增至 「 信任根憑證授權 」 憑證存放區的根憑證

  1. 從適當的伺服器的本機電腦存放區匯出任何所需的根憑證。這包括內部憑證授權單位 (Ca) 的根憑證,以及貴公司需要的公開憑證授權單位的根憑證。
  2. 登入網域控制站,然後再啟動 [Active Directory 使用者和電腦的工具。
  3. 以滑鼠右鍵按一下包含您在建立 [群組原則] 物件的容器,「 步驟 1︰ 建立群組原則物件 」 區段,然後再按 [內容
  4. 按一下 [群組原則] 索引標籤,按一下 [群組原則] 物件,然後按一下 [編輯
  5. 展開 [電腦設定] 展開 [ Windows 設定、 展開 [安全性設定],然後按一下 [公開金鑰原則
  6. 以滑鼠右鍵按一下 [信任的根憑證授權單位的],然後按一下 [匯入
  7. 請依照 [憑證匯入精靈匯入根憑證或您在步驟 2b 中匯出的憑證。
  8. 結束 [群組原則物件編輯器]。
  9. 按一下[確定]以關閉 [ ObjectName屬性] 對話方塊。
注意有某些由 Windows 所需的根憑證。您必須將這些憑證新增到您所建立的原則。如需詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文︰

293781所需的 Windows Server 2003、 Windows XP 和 Windows 2000 受信任的根憑證

方法 3︰ 設定 Schannel 不再 TLS/SSL 信號交換過程中傳送的受信任的根憑證授權單位清單

警告如果您修改登錄不當使用 「 登錄編輯器,或使用另一種方法,可能會發生嚴重的問題。這些問題可能會要求您重新安裝作業系統。Microsoft 不保證可以解決這些問題。修改登錄請自行承擔風險。

在執行 IIS 的伺服器上,或遇到這個問題的 IAS 伺服器上,設定下列的登錄項目為 false:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL

數值名稱︰ SendTrustedIssuerList
實值型別︰ REG_DWORD
數值資料︰ 0 (錯誤)
根據預設,此項目沒有列在登錄中。根據預設,這個值會是 1 (True)。 此登錄項目會控制控制伺服器是否傳送的受信任的憑證授權單位清單給用戶端的旗標。當您將此登錄項目設定為 False 時,伺服器並不會傳送至用戶端的受信任的憑證授權單位清單。這種行為可能會影響用戶端憑證要求的回應方式。例如,如果 Internet Explorer 接收用戶端驗證要求時,Internet Explorer 會顯示只有用戶端憑證,會出現其中一個從伺服器清單中的憑證授權單位的鏈結中。不過,如果伺服器並不會傳送一份信任的憑證授權單位,Internet Explorer 會顯示用戶端電腦所安裝的所有用戶端憑證。

若要設定這個登錄項目,請依照下列步驟執行︰
  1. 按一下 [開始],然後按 [執行]、 輸入regedit,再按 [確定]。
  2. 找出並按一下下列登錄子機碼︰
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
  3. [編輯] 功能表上指向 [新增],然後按一下 [DWORD 值]
  4. 輸入SendTrustedIssuerList,然後再按 ENTER 來命名的登錄項目。
  5. 以滑鼠右鍵按一下SendTrustedIssuerList,,,然後按一下 [修改]
  6. 在 [數值資料] 方塊中,若該值尚未顯示,請輸入0 ,然後按一下[確定]
  7. 結束登錄編輯程式。
如需有關 SCHANNEL 登錄項目的詳細資訊,請造訪下列 Microsoft 網站︰

狀態

Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。

更多的資訊

Windows Server 2003 的設計目的是當您更新的根憑證時,自動檢查在 Microsoft Windows 更新網站上的受信任的憑證授權單位清單。然後,Windows 安裝適當的根憑證,該憑證驗證使用者的程式之後。

注意Windows Server 2003 中的憑證授權單位清單不能超過 12,228 (0x3000) 個位元組。當您更新的根憑證時,受信任的憑證授權單位的清單可能會大幅增加。因此,清單可能會變得太長。在此情況下,Windows 就會截斷清單。這種行為可能會導致授權問題。在這個案例中,您可能會遇到 < 徵狀 > 一節所述的問題。

如何設定 Schannel 事件的記錄

警告如果您修改登錄不當使用 「 登錄編輯器,或使用另一種方法,可能會發生嚴重的問題。這些問題可能會要求您重新安裝作業系統。Microsoft 不保證可以解決這些問題。修改登錄請自行承擔風險。

若要設定 Schannel 記錄在系統記錄檔中的警告事件,設定下列的登錄項目︰
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel

數值名稱︰ EventLogging
實值型別︰ REG_DWORD
數值資料︰ 0x3
注意0x3 的值設定 Schannel 記錄警告事件和錯誤事件。

如需有關如何設定 Schannel 事件的記錄功能的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件︰

如何啟用 Schannel 事件記錄在 IIS 中的260729

參考

如需詳細資訊,按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

931125 Microsoft 根憑證程式成員 (年 1 月 2007)

如需詳細資訊,按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

當您使用 EAP-TLS 或 PEAP 使用 EAP-TLS 的814394憑證需求

內容

文章識別碼:933430 - 最後檢閱時間:2017年2月25日 - 修訂: 1

Microsoft Windows Server 2003, Datacenter Edition (32-bit x86), Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft Windows Server 2003, Standard Edition (32-bit x86), Microsoft Windows Server 2003, Web Edition, Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems, Microsoft Windows Server 2003, Datacenter x64 Edition, Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems, Microsoft Windows Server 2003, Enterprise x64 Edition, Microsoft Windows Server 2003, Standard x64 Edition

意見反應