本文提供在安裝 KB 931125之後發生的 SSL/TLS 通訊問題解決方案。
原始 KB 編號: 2801679
徵兆
在 2012 年 12 月 11 日之後,相依於 TLS 型驗證的應用程式和作業可能會突然失敗,儘管它們沒有明顯的設定變更。 某些可能失敗的應用程式和作業包括,但不限於下列專案:
- 使用憑證式驗證的無線網路存取
- 使用憑證式驗證的有線網路存取
- 用戶端連線到 Lync 或 Office Communications Server
- 使用 Exchange Server 與整合通訊的語音信箱
- 已啟用 SSL 的網站存取
- Outlook 登入
- OS 開機延遲 (慢開機)
- 使用者登入延遲(登入緩慢)
記錄在 Windows 或應用程式特定事件記錄檔中的事件,以及範圍或明確識別本文中所討論徵兆的事件,包括下表所列的事件,但並不限於下列所列的事件。
事件記錄檔 | 事件來源 | 事件識別碼 | 事件文字 |
---|---|---|---|
系統 | 安全通道 | 36885 | 要求客戶端驗證時,此伺服器會將受信任的證書頒發機構單位清單傳送給用戶端。 用戶端會使用這份清單來選擇伺服器所信任的用戶端憑證。 目前,此伺服器信任如此多的證書頒發機構單位,清單已成長太長。 因此這份清單遭到截斷。 此計算機的系統管理員應該檢閱信任客戶端驗證的證書頒發機構單位,並移除不需要真正信任的證書頒發機構單位。 |
系統 | 安全通道 | 36887 | 收到下列嚴重警示:47 |
系統 | NapAgent | 39 | 網路存取保護代理程式無法判斷要向哪個 HRA 要求健康情況憑證。 網路變更或如果已設定 GP,設定變更將會提示進一步嘗試取得健康情況憑證。 否則不會再嘗試。 如需詳細資訊,請連絡 HRA 系統管理員。 |
系統 | RemoteAccess | 20225 | 埠上的點對點通訊協定模組發生下列錯誤: VPN2-509,UserName: <username>。 因為 RAS/VPN 伺服器上設定的原則,導致無法連線。 具體而言,伺服器用於驗證使用者名稱和密碼的驗證方法可能與組態設定檔中設定的驗證方法不相符。 請連絡 RAS 伺服器的系統管理員,並通知他們此錯誤。 |
系統 | RemoteAccess | 20271 | 用戶使用者 <名稱> 從 <IP位址> 連線,但因為下列原因而失敗驗證嘗試: 因為 RAS/VPN 伺服器上設定的原則,所以無法連線。 具體而言,伺服器用於驗證使用者名稱和密碼的驗證方法可能與組態設定檔中設定的驗證方法不相符。 請連絡 RAS 伺服器的系統管理員,並通知他們此錯誤。 |
原因
如果您使用 2012 年 12 月 KB 931125更新套件來更新第三方跟證書授權單位,可能會發生這些問題。 2012 年 12 月 11 日發布的 KB 931125 套件僅適用於用戶端 SKU。 不過,在 Windows Update 和 WSUS 上也提供伺服器 SKU 的短時間。
此套件已安裝超過 330 個第三方跟證書授權單位。 目前,安全通道安全性套件支援的受信任證書頒發機構單位清單大小上限為 16 KB。 擁有大量第三方跟證書授權單位將會超過 16k 個限制,而且您將遇到 TLS/SSL 通訊問題。
解決方法
如果您使用 WSUS,且未安裝 2012 年 12 月 KB 931125更新,您應該同步處理 WSUS 伺服器,然後核准到期日,讓伺服器不會安裝更新。
如果您已安裝 2012 年 12 月的 2012 KB 931125 更新套件,您應該使用下列解決方案,在所有伺服器上移除目前擁有大量第三方跟證書授權單位的其他第三方跟證書授權單位。
注意
此解決方案會移除所有第三方跟證書授權單位。 如果您的伺服器具有 Windows Update 的連線能力,它會視需要自動新增第三方跟證書授權單位,如 KB 931125中所述。 如果受影響的伺服器與因特網隔離或中斷連線,您必須像過去一樣,手動將必要的第三方跟證書授權單位新增回來。 (或者,您可以使用組策略加以安裝。
若要修正此問題,請刪除下列登錄機碼:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\AuthRoot\Certificates
若要這樣做,請遵循下列步驟:
- 啟動註冊表編輯器
- 找出下列登入子機碼:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\AuthRoot
- 以滑鼠右鍵按兩下 ,然後刪除稱為憑證的金鑰。
注意
請務必先備份登錄和受影響的機碼,再對系統進行任何變更。
其他相關資訊
如果 TLS/SSL 伺服器在受信任的跟證書清單中包含許多專案,就可能發生這些問題。 如果下列條件成立,伺服器會將受信任的證書頒發機構單位清單傳送給用戶端:
- 伺服器使用傳輸層安全性 (TLS)/SSL 通訊協定來加密網路流量。
- 驗證交握程序期間,需要用戶端憑證以進行驗證。
此受信任的證書頒發機構單位清單代表伺服器可接受客戶端憑證的授權單位。 若要讓伺服器驗證,用戶端必須具有出現在從伺服器清單到根憑證伺服器之憑證鏈結的憑證。 這是因為客戶端憑證一律是鏈結結尾的端實體憑證。 客戶端憑證不是鏈結的一部分。
目前,安全通道安全性套件支援的受信任證書頒發機構單位清單大小上限是 Windows Server 2008、Windows Server 2008 R2 和 Windows Server 2012 中的 16 KB。
Schannel 會藉由在本機計算機上搜尋受信任的跟證書授權單位存放區,以建立受信任的證書頒發機構單位清單。 客戶端驗證目的所信任的每個憑證都會新增至清單。 如果此清單的大小超過 16 KB,安全通道會記錄警告事件標識碼 36855。 然後,安全通道會截斷受信任的根憑證清單,並將這份截斷的清單傳送到用戶端電腦。
當客戶端電腦收到受信任跟證書的截斷清單時,用戶端電腦可能沒有存在於受信任憑證簽發者鏈結中的憑證。 例如,客戶端計算機可能會有對應至信任跟證書的憑證,而安全通道會從受信任的證書頒發機構單位清單中截斷。 因此,伺服器無法驗證用戶端。