Chủ đề
Tìm câu trả lời trong các chủ đềLỗi Microsoft IIS: Chứng chỉ không được tin cậy rộng rãi do thiếu đường dẫn chứng chỉ (Certificate Path) hợp lệ
Vấn đề
Trong một số trường hợp, máy chủ Microsoft IIS và các máy chủ TLS chạy trên nền tảng Windows cung cấp một chuỗi chứng chỉ (certificate chain) mà chỉ các thiết bị (client) đã cập nhật mới tin tưởng.
Các máy chủ này không cho phép người quản trị tự chọn hoặc chỉ định một chuỗi chứng chỉ cụ thể để gửi đi trong quá trình bắt tay TLS (TLS handshake). Thay vào đó, Windows Server sẽ tự quyết định chuỗi chứng chỉ nào được gửi dựa trên kho lưu trữ tin cậy (trust-store) của chính máy chủ đó.
Nguyên nhân
- Cơ chế tự động của Windows: Đa số kho lưu trữ tin cậy trên máy chủ đều được cập nhật bản mới nhất. Do đó, máy chủ sẽ không ưu tiên các thiết bị đời cũ (legacy clients) — ngay cả khi tổ chức phát hành chứng chỉ (CA) đã cung cấp các chứng chỉ chéo (cross-certificates) để hỗ trợ hàng triệu thiết bị cũ này.
- Sự thay đổi của CA: Các tổ chức CA công cộng hiện nay bắt buộc phải chuyển sang cấu trúc phân cấp đơn mục tiêu và thay đổi chứng chỉ gốc (Root CA) thường xuyên hơn. Việc sử dụng chứng chỉ chéo là cực kỳ quan trọng, nhưng IIS lại gây khó khăn trong việc hỗ trợ điều này.
- Lập trường của Microsoft: Mặc dù đây có thể coi là một lỗi hệ thống, Microsoft lại xem đây là một đặc tính thiết kế (by design) và cung cấp các giải pháp khắc phục tạm thời trên trang hỗ trợ (KB) của họ. https://learn.microsoft.com/en-us/troubleshoot/windows-server/certificates-and-public-key-infrastructure-pki/secured-website-certificate-validation-fails
Giải pháp khắc phục
Cách giải quyết là buộc máy chủ phải "ngừng tin tưởng" các chứng chỉ gốc mới nhất của Sectigo (như R46 và E46) để nó chuyển sang sử dụng các chứng chỉ chéo tương thích với thiết bị cũ hơn.
- Cách thủ công: Di chuyển các chứng chỉ gốc Sectigo R46 và E46 vào thư mục Disallowed (Chứng chỉ bị từ chối) trên máy chủ hoặc vô hiệu hóa chúng hoàn toàn. Microsoft thậm chí còn gợi ý tắt tính năng Tự động cập nhật Chứng chỉ gốc (Windows Automatic Root Updates).
- Cách nhanh (Sử dụng file .reg): Chúng tôi đã tạo sẵn các tệp Registry (.reg) để bạn có thể chạy trực tiếp trên máy chủ:
- IISFix-MoveSectigoSelfSignedRoots-Disallowed.reg: Di chuyển các chứng chỉ gốc vào mục Disallowed để sửa lỗi.
- IISFix-MoveSectigoSelfSignedRoots-Restore.reg: Khôi phục lại trạng thái ban đầu nếu cần.
Kết quả
Sau khi áp dụng các tệp .reg này hoặc làm theo hướng dẫn của Microsoft, máy chủ IIS sẽ bị buộc phải cung cấp một đường dẫn chứng chỉ trong quá trình TLS handshake mà tất cả các trình duyệt và thiết bị (cả cũ lẫn mới) đều chấp nhận.
Cụ thể, máy chủ sẽ sử dụng các chứng chỉ chéo từ gốc Sectigo R/E46 mới sang các gốc USERTrust RSA và ECC cũ hơn vốn đã được các thiết bị lâu đời tin tưởng.
Tệp đính kèm:
- IISFix-MoveSectigoSelfSignedRoots-Disallowed.reg (Cập nhật 03/09/2025)
- IISFix-MoveSectigoSelfSignedRoots-Restore.reg (Cập nhật 03/09/2025)
Chi tiết: https://www.sectigo.com/knowledge-base/detail/Micr...