Windows ทุกรุ่นมีฟีเจอร์ในตัวสำหรับอัปเดตใบรับรองหลักจากเว็บไซต์ Microsoft โดยอัตโนมัติ MSFT ซึ่งเป็นส่วนหนึ่งของ Microsoft Trusted Root Certificate Program รักษาและเผยแพร่รายการใบรับรองที่เชื่อถือได้สำหรับไคลเอ็นต์และอุปกรณ์ Windows ในที่เก็บออนไลน์ หากใบรับรองที่ตรวจสอบแล้วในสายการรับรองอ้างอิงถึงรูท CA ที่เข้าร่วมในโปรแกรมนี้ ระบบจะดาวน์โหลดใบรับรองรูทนี้โดยอัตโนมัติจากเซิร์ฟเวอร์ Windows Update และเพิ่มไปยังใบรับรองที่เชื่อถือได้
Windows จะอัปเดตรายการใบรับรองหลักที่เชื่อถือได้ (CTL) สัปดาห์ละครั้ง หาก Windows ไม่มีสิทธิ์เข้าถึง Windows Update โดยตรง ระบบจะไม่สามารถอัปเดตใบรับรองหลักได้ ดังนั้น ผู้ใช้อาจประสบปัญหาบางอย่างเมื่อเรียกดูเว็บไซต์ (ซึ่งใบรับรอง SSL ที่ลงนามโดย CA ที่ไม่น่าเชื่อถือ – ดูบทความเกี่ยวกับ "ข้อผิดพลาด Chrome SSL:ไซต์นี้ไม่สามารถให้การเชื่อมต่อที่ปลอดภัย") หรือด้วยการติดตั้ง/เรียกใช้สคริปต์ที่ลงชื่อ และแอพ
ในบทความนี้ เราจะพยายามค้นหาวิธีอัปเดตรายการใบรับรองหลักใน TrustedRootCA ด้วยตนเองในเครือข่ายที่ตัดการเชื่อมต่อ (แยก) หรือคอมพิวเตอร์/เซิร์ฟเวอร์โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ตโดยตรง
สารบัญ:
- การจัดการใบรับรองหลักที่เชื่อถือได้ใน Windows 10 และ 11
- จะปิดการใช้งาน/เปิดใช้งาน Automatic Root Certificates Update ใน Windows ได้อย่างไร
- Certutil:ดาวน์โหลด Trusted Root Certificates จาก Windows Update
- Certificate Trust List (STL) ใน Windows
- การอัปเดตใบรับรองหลักที่เชื่อถือได้ผ่าน GPO ในสภาพแวดล้อมที่แยกออกมา
- จะอัปเดตใบรับรองหลักที่เชื่อถือได้ใน Windows 7 ได้อย่างไร
- การอัปเดตใบรับรองหลักบน Windows XP โดยใช้เครื่องมือ Rootsupd.exe
การจัดการใบรับรองหลักที่เชื่อถือได้ใน Windows 10 และ 11
จะดูรายการใบรับรองหลักที่เชื่อถือได้บนคอมพิวเตอร์ Windows ได้อย่างไร
- ในการเปิดที่เก็บใบรับรองรูทของคอมพิวเตอร์ที่ใช้ Windows 11/10/8.1/7 หรือ Windows Server 2022/2019/2016 ให้เรียกใช้ mmc.exe คอนโซล;
- เลือก ไฟล์ -> เพิ่ม/ลบสแนปอิน , เลือก ใบรับรอง (certmgr) ในรายการสแน็ปอิน -> เพิ่ม;
- เลือกว่าคุณต้องการจัดการใบรับรองของบัญชีคอมพิวเตอร์ในเครื่อง;
- ถัดไป -> ตกลง -> ตกลง;
- ขยายใบรับรอง โหนด -> เชื่อถือได้ ราก การรับรอง เจ้าหน้าที่ ร้านค้า ส่วนนี้ประกอบด้วยรายการใบรับรองหลักที่เชื่อถือได้ในคอมพิวเตอร์ของคุณ
ในคอนโซล mmc คุณสามารถดูข้อมูลเกี่ยวกับใบรับรองใดๆ หรือลบออกจากใบรับรองที่เชื่อถือได้
คุณยังสามารถรับรายการใบรับรองหลักที่เชื่อถือได้พร้อมวันหมดอายุโดยใช้ PowerShell:
Get-Childitem cert:\LocalMachine\root |format-list
คุณสามารถระบุใบรับรองที่หมดอายุหรือที่จะหมดอายุใน 60 วันข้างหน้า:
Get-ChildItem cert:\LocalMachine\root|Where {$_.NotAfter -lt (Get-Date).AddDays(60)}|select NotAfter, Subject
ด้วยเหตุผลด้านความปลอดภัย ขอแนะนำให้คุณตรวจสอบที่เก็บใบรับรองที่เชื่อถือได้บนคอมพิวเตอร์ของคุณเป็นระยะเพื่อหาใบรับรองที่น่าสงสัยและถูกเพิกถอนโดยใช้ Sigcheck เครื่องมือ. เครื่องมือนี้ช่วยให้คุณเปรียบเทียบรายการใบรับรองที่ติดตั้งบนคอมพิวเตอร์กับรายการใบรับรองหลักบนเว็บไซต์ของ Microsoft (คุณสามารถดาวน์โหลดไฟล์ออฟไลน์ที่มีใบรับรอง authrootstl.cab ล่าสุดได้)
คุณโอนไฟล์ใบรับรองหลักระหว่างคอมพิวเตอร์ Windows ได้ด้วยตนเองโดยใช้ตัวเลือกส่งออก/นำเข้า
- คุณสามารถส่งออกใบรับรองใดๆ ไปยังไฟล์ .CER ได้โดยคลิกที่ใบรับรองและเลือก งานทั้งหมด -> ส่งออก;
- คุณสามารถนำเข้าใบรับรองนี้บนคอมพิวเตอร์เครื่องอื่นโดยใช้ตัวเลือก งานทั้งหมด -> นำเข้า
จะปิดการใช้งาน/เปิดใช้งานการอัปเดตใบรับรองหลักอัตโนมัติใน Windows ได้อย่างไร
ดังที่เราได้กล่าวไปแล้ว Windows จะอัปเดตใบรับรองหลักโดยอัตโนมัติ คุณสามารถเปิดหรือปิดใช้งานการต่ออายุใบรับรองใน Windows ผ่าน GPO หรือรีจิสทรีได้
เปิดตัวแก้ไขนโยบายกลุ่มภายใน (gpedit.msc) และไปที่การกำหนดค่าคอมพิวเตอร์ -> เทมเพลตการดูแล -> ระบบ -> การจัดการการสื่อสารทางอินเทอร์เน็ต -> การสื่อสารทางอินเทอร์เน็ต
ปิดการอัปเดตใบรับรองหลักอัตโนมัติ ตัวเลือกในส่วนนี้ช่วยให้คุณสามารถปิดใช้งานการอัปเดตใบรับรองหลักโดยอัตโนมัติผ่านทางไซต์ Windows Update โดยค่าเริ่มต้น นโยบายนี้ไม่ได้รับการกำหนดค่าและ Windows จะพยายามต่ออายุใบรับรองหลักโดยอัตโนมัติเสมอ
หากไม่ได้กำหนดค่าตัวเลือก GPO นี้และใบรับรองหลักไม่ได้รับการต่ออายุโดยอัตโนมัติ ให้ตรวจสอบว่าการตั้งค่านี้เปิดใช้งานด้วยตนเองในรีจิสทรีหรือไม่ ตรวจสอบค่าของพารามิเตอร์รีจิสตรี้โดยใช้ PowerShell:
Get-ItemProperty -Path 'HKLM:\Software\Policies\Microsoft\SystemCertificates\AuthRoot' -Name DisableRootAutoUpdate
หากคำสั่งส่งคืนค่าของ DisableRootAutoUpdate พารามิเตอร์รีจิสตรีคือ 1 จากนั้นการอัปเดตใบรับรองหลักจะถูกปิดใช้งานบนคอมพิวเตอร์ของคุณ หากต้องการเปิดใช้งาน ให้เปลี่ยนค่าพารามิเตอร์เป็น 0
Certutil:ดาวน์โหลดใบรับรองหลักที่เชื่อถือได้จาก Windows Update
Certutil.exe เครื่องมือ CLI สามารถใช้เพื่อจัดการใบรับรอง (เปิดตัวใน Windows 10 สำหรับ Windows 7 จะพร้อมใช้งานเป็นการอัพเดทแยกต่างหาก) สามารถใช้เพื่อดาวน์โหลดรายการใบรับรองหลักล่าสุดจาก Windows Update และบันทึกลงในไฟล์ SST
ในการสร้างไฟล์ SST บนคอมพิวเตอร์ที่ใช้ Windows 10 หรือ 11 และเข้าถึงอินเทอร์เน็ตได้โดยตรง ให้เปิดพรอมต์คำสั่งที่ยกระดับแล้วเรียกใช้คำสั่ง:
certutil.exe -generateSSTFromWU C:\PS\roots.sst
Updated SST file. CertUtil: -generateSSTFromWU command completed successfully.
ด้วยเหตุนี้ ไฟล์ SST ที่มีรายการใบรับรองหลักล่าสุดจะปรากฏในไดเร็กทอรีเป้าหมาย ดับเบิลคลิกเพื่อเปิด ไฟล์นี้เป็นคอนเทนเนอร์ที่มีใบรับรองหลักที่เชื่อถือได้
ดังที่คุณเห็นแล้ว สแน็ปอินการจัดการใบรับรองที่คุ้นเคยจะเปิดขึ้น ซึ่งคุณสามารถส่งออกใบรับรองใดๆ ที่คุณได้รับได้ ในกรณีของฉัน มี 358 รายการในรายการใบรับรอง เห็นได้ชัดว่าไม่มีเหตุผลที่จะส่งออกใบรับรองและติดตั้งทีละรายการ
เคล็ดลับ .certutil -syncWithWU
คำสั่งสามารถใช้เพื่อสร้างไฟล์ใบรับรองแต่ละไฟล์ ใบรับรองที่ได้รับในลักษณะนี้สามารถนำไปใช้กับอุปกรณ์ Windows โดยใช้ GPO คุณสามารถใช้สคริปต์ PowerShell เพื่อติดตั้งใบรับรองทั้งหมดจากไฟล์ SST และเพิ่มในรายการใบรับรองหลักที่เชื่อถือได้ในคอมพิวเตอร์:
$sstStore = ( Get-ChildItem -Path C:\ps\rootsupd\roots.sst )
$sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root
เรียกใช้ certmgr.msc snap-in และตรวจสอบให้แน่ใจว่าได้เพิ่มใบรับรองทั้งหมดไปยัง ผู้ออกใบรับรองหลักที่เชื่อถือได้ . ในตัวอย่างของฉันบน Windows 11 จำนวนใบรับรองหลักเพิ่มขึ้นจาก 34 เป็น 438
สำเนา Windows ใหม่ทั้งหมดหลังการติดตั้งมีใบรับรองเพียงเล็กน้อยในที่เก็บราก หากคอมพิวเตอร์เชื่อมต่อกับอินเทอร์เน็ต ใบรับรองหลักที่เหลือจะถูกติดตั้งโดยอัตโนมัติ (ตามต้องการ) หากอุปกรณ์ของคุณเข้าถึงไซต์ HTTPS หรือใบรับรอง SSL ที่มีลายนิ้วมือจาก Microsoft CTL ในห่วงโซ่ความเชื่อถือ ดังนั้น ตามกฎแล้ว ไม่จำเป็นต้องเพิ่มใบรับรองทั้งหมดที่ Microsoft เชื่อถือไปยังที่เก็บใบรับรองในเครื่องทันที
Certificate Trust List (STL) ใน Windows
ใบรับรองรายการที่เชื่อถือได้ (CTL ) เป็นเพียงรายการข้อมูล (เช่น แฮชใบรับรอง) ที่ลงนามโดยบุคคลที่เชื่อถือได้ (โดย Microsoft ในกรณีนี้) ไคลเอนต์ Windows ดาวน์โหลดเป็นระยะ ๆ จาก Windows Update CTL นี้ ซึ่งเก็บแฮชของ CA รูทที่เชื่อถือได้ทั้งหมด ควรเข้าใจว่า CTL นี้ไม่มีใบรับรองเอง มีเพียงแฮชและแอตทริบิวต์ (เช่น ชื่อที่เรียกง่าย) อุปกรณ์ Windows สามารถดาวน์โหลดใบรับรองที่เชื่อถือได้จาก Certificate Trust List ตามความต้องการ
คุณสามารถดาวน์โหลดและติดตั้งไฟล์ CTL ได้ด้วยตนเอง โดยดาวน์โหลดไฟล์ https://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab (อัปเดตเดือนละสองครั้ง) ใช้ Archiver ใดๆ (หรือแม้แต่ Windows Explorer) แกะเนื้อหาของ authrootstl.cab คลังเก็บเอกสารสำคัญ. มันมี authroot.stl . เดียว ไฟล์.
ไฟล์ Authroot.stl เป็นคอนเทนเนอร์ที่มีรายการรหัสประจำตัวของใบรับรองที่เชื่อถือได้ในรูปแบบรายการที่เชื่อถือได้ของใบรับรอง
คุณสามารถติดตั้งไฟล์ CTL นี้ไปยังผู้ออกใบรับรองหลักที่เชื่อถือได้โดยใช้คำสั่ง certutil:
certutil -enterprise -f -v -AddStore "Root" "C:\PS\authroot.stl"
root "Trusted Root Certification Authorities" CTL 0 added to store. CertUtil: -addstore command completed successfully.
คุณยังสามารถนำเข้าใบรับรองโดยใช้คอนโซลการจัดการใบรับรอง (Trust Root หน่วยงานรับรอง -> ใบรับรอง -> งานทั้งหมด -> นำเข้า ). ระบุเส้นทางไปยังไฟล์ STL ของคุณด้วยรหัสประจำตัวของใบรับรอง
หลังจากที่คุณรันคำสั่งแล้ว ส่วนใหม่ Certificate Trust List จะปรากฏใน Trusted Root Certification Authorities คอนเทนเนอร์ของคอนโซลตัวจัดการใบรับรอง (certmgr.msc
)
ในทำนองเดียวกัน คุณสามารถดาวน์โหลดและติดตั้งรายการใบรับรองที่ถูกเพิกถอน (ไม่อนุญาต) ที่ถูกลบออกจากโปรแกรมใบรับรองหลัก ในการดำเนินการ ให้ดาวน์โหลด disallowedcertstl.cab ไฟล์ (https://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/disallowedcertstl.cab) แตกไฟล์แล้วเพิ่มลงในที่เก็บใบรับรองที่ไม่น่าเชื่อถือด้วยคำสั่ง:
certutil -enterprise -f -v -AddStore disallowed "C:\PS\disallowedcert.stl"
การอัปเดตใบรับรองหลักที่เชื่อถือได้ผ่าน GPO ในสภาพแวดล้อมที่แยกออกมา
หากคุณมีงานในการอัปเดตใบรับรองหลักเป็นประจำในโดเมน Active Directory ที่แยกทางอินเทอร์เน็ต มีรูปแบบที่ซับซ้อนกว่าเล็กน้อยในการอัปเดตที่เก็บใบรับรองในเครื่องบนคอมพิวเตอร์ที่เข้าร่วมโดเมนโดยใช้นโยบายกลุ่ม คุณสามารถกำหนดค่าการอัปเดตใบรับรองหลักบนคอมพิวเตอร์ของผู้ใช้ในเครือข่าย Windows ที่ตัดการเชื่อมต่อได้หลายวิธี
ทางแรก ถือว่าคุณดาวน์โหลดและคัดลอกไฟล์ด้วยตนเองเป็นประจำด้วยใบรับรองหลักไปยังเครือข่ายแยกของคุณ คุณสามารถดาวน์โหลดไฟล์ที่มีใบรับรองรูทของ Microsoft ปัจจุบันได้ดังนี้:
certutil.exe –generateSSTFromWU roots.sst
จากนั้น ใบรับรองหลักจากไฟล์นี้สามารถปรับใช้ผ่านสคริปต์ SCCM หรือ PowerShell Startup ใน GPO:
$sstStore = (Get-ChildItem -Path \\fr-dc01\SYSVOL\woshub.com\rootcert\roots.sst )
$sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root
วิธีที่สอง คือการดาวน์โหลดใบรับรองหลักของ Microsoft โดยใช้คำสั่ง:
Certutil -syncWithWU -f \\fr-dc01\SYSVOL\woshub.com\rootcert\
ไฟล์ใบรับรองหลักจำนวนหนึ่ง (รูปแบบไฟล์ CRT) จะปรากฏในโฟลเดอร์เครือข่ายที่ใช้ร่วมกันที่ระบุ (รวมถึงไฟล์ authrootstl.cab, disallowedcertstl.cab, disallowedcert.sst, thumbprint.crt)
จากนั้นใช้การตั้งค่านโยบายกลุ่มเพื่อเปลี่ยนค่าของพารามิเตอร์รีจิสทรี RootDirURL ภายใต้ HKLM\Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate . พารามิเตอร์นี้ควรชี้ไปที่โฟลเดอร์เครือข่ายที่ใช้ร่วมกันซึ่งคอมพิวเตอร์ Windows ของคุณจะได้รับใบรับรองหลักใหม่ เรียกใช้คอนโซล GPMC.msc ของโดเมน สร้าง GPO ใหม่ สลับไปที่โหมดนโยบายแก้ไข และขยายส่วน การกำหนดค่าคอมพิวเตอร์ -> ค่ากำหนด -> การตั้งค่า Windows -> รีจิสทรี . สร้างคุณสมบัติรีจิสทรีใหม่ด้วยการตั้งค่าต่อไปนี้:
- การกระทำ :อัปเดต
- รัง :HKLM
- เส้นทางหลัก :Software\Microsoft\SystemCertificates\AuthRoot\AutoUpdate
- ชื่อค่า :RootDirURL
- พิมพ์ :REG_SZ
- ข้อมูลค่า :file://\\fr-dc01\SYSVOL\woshub.com\rootcert\
ยังคงต้องเชื่อมโยงนโยบายนี้กับ OU ของคอมพิวเตอร์ และหลังจากอัปเดตการตั้งค่า GPO บนไคลเอ็นต์แล้ว ให้ตรวจสอบใบรับรองหลักใหม่ใน certstore
พารามิเตอร์ GPO ปิดการอัปเดตใบรับรองหลักอัตโนมัติ ภายใต้การกำหนดค่าคอมพิวเตอร์ -> เทมเพลตการดูแลระบบ -> ระบบ -> การจัดการการสื่อสารทางอินเทอร์เน็ต -> การตั้งค่าการสื่อสารทางอินเทอร์เน็ตควรปิดใช้งานหรือไม่ได้กำหนดค่าจะอัปเดตใบรับรองหลักที่เชื่อถือได้ใน Windows 7 ได้อย่างไร
แม้ว่า Windows 7 จะอยู่ในช่วงสิ้นสุดการสนับสนุน แต่ผู้ใช้และบริษัทจำนวนมากยังคงใช้งานอยู่
หลังจากติดตั้งอิมเมจ Windows 7 ใหม่ทั้งหมด คุณอาจพบว่าโปรแกรมและเครื่องมือสมัยใหม่จำนวนมากใช้ไม่ได้กับอิมเมจดังกล่าว เนื่องจากมีการเซ็นชื่อด้วยใบรับรองใหม่ โดยเฉพาะอย่างยิ่ง มีการร้องเรียนว่า .Net Framework 4.8 หรือ Microsoft Visual Studio (vs_Community.exe) ไม่สามารถติดตั้งบน Windows 7 SP1 x64 ได้โดยไม่ต้องอัปเดตใบรับรองหลัก
The installer manifest failed signature validation.
หรือ
NET Framework has not been installed because a certificate chain could not be built to a trusted root authority.
ในการอัปเดตใบรับรองหลักใน Windows 7 คุณต้องดาวน์โหลดและติดตั้งการอัปเดต MSU KB2813430 ก่อน (https://support.microsoft.com/en-us/topic/an-update-is-available-that-enables-administrators-to-update-trusted-and-disallowed-ctls-in-disconnected-environments-in -windows-0c51c702-fdcc-f6be-7089-4585fad729d6)
หลังจากนั้น คุณสามารถใช้ certutil เพื่อสร้างไฟล์ SST ที่มีใบรับรองหลัก (บนคอมพิวเตอร์เครื่องปัจจุบันหรือคอมพิวเตอร์เครื่องอื่น):
certutil.exe -generateSSTFromWU c:\ps\roots.sst
ตอนนี้คุณสามารถนำเข้าใบรับรองไปยังใบรับรองที่เชื่อถือได้:
เรียกใช้ MMC -> เพิ่มสแนปอิน -> ใบรับรอง -> บัญชีคอมพิวเตอร์> เครื่องคอมพิวเตอร์ คลิกขวาที่ผู้ออกใบรับรองหลักที่เชื่อถือได้ งานทั้งหมด -> นำเข้า ค้นหาไฟล์ SST ของคุณ (ในประเภทไฟล์ ให้เลือก Microsoft Serialized Certificate Store — *.sst ) -> เปิด -> วางใบรับรองทั้งหมดในร้านต่อไปนี้ -> ผู้ออกใบรับรองหลักที่เชื่อถือได้
การอัปเดตใบรับรองหลักบน Windows XP โดยใช้เครื่องมือ Rootsupd.exe
ใน Windows XP rootsupd.exe ยูทิลิตี้ถูกใช้เพื่ออัปเดตใบรับรองรูทของคอมพิวเตอร์ รายการรูทและใบรับรองที่ถูกเพิกถอนในนั้นได้รับการอัปเดตเป็นประจำ เครื่องมือนี้ได้รับการแจกจ่ายเป็นการอัปเดตแยกต่างหาก KB931125 (อัปเดตสำหรับใบรับรองหลัก) มาดูกันว่าเราจะใช้มันได้หรือไม่
- ดาวน์โหลด rootsupd.exe ยูทิลิตีโดยใช้ลิงก์ต่อไปนี้
https://download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/rootsupd.exe. ในขณะนี้ (มกราคม 2021) ลิงก์ใช้งานไม่ได้ Microsoft ตัดสินใจลบออกจากสาธารณะ วันนี้ คุณสามารถดาวน์โหลด rootupd.exe ได้จากเว็บไซต์ Kaspersky — https://media.kaspersky.com/utilities/CorporateUtilities/rootsupd.zip; - ในการติดตั้งใบรับรองรูทของ Windows เพียงเรียกใช้ rootsupd.exe ไฟล์. แต่เราจะพยายามตรวจสอบเนื้อหาอย่างละเอียดยิ่งขึ้น แยกใบรับรองออกจากไฟล์เรียกทำงานด้วยคำสั่ง:
rootsupd.exe /c /t: C:\PS\rootsupd
- ใบรับรองถูกจัดเก็บไว้ในไฟล์ SST เช่น authroots.sst, delroot.sst เป็นต้น หากต้องการลบหรือติดตั้งใบรับรอง คุณสามารถใช้คำสั่งต่อไปนี้:
updroots.exe authroots.sst
updroots.exe -d delroots.sst
อย่างไรก็ตาม อย่างที่คุณเห็น ไฟล์ใบรับรองเหล่านี้ถูกสร้างขึ้นเมื่อวันที่ 4 เมษายน 2013 (เกือบหนึ่งปีก่อนสิ้นสุดการสนับสนุนอย่างเป็นทางการสำหรับ Windows XP) ดังนั้นตั้งแต่นั้นมา เครื่องมือก็ไม่ได้รับการอัพเดตและไม่สามารถนำมาใช้ในการติดตั้งใบรับรองที่เป็นปัจจุบันได้
แต่คุณสามารถใช้เครื่องมือ cerutil ใน Windows 10/11 เพื่อดาวน์โหลด root.sst คัดลอกไฟล์นั้นใน Windows XP และติดตั้งใบรับรองโดยใช้ updroots.exe:
updroots.exe c:\temp\roots.sst
ในบทความนี้ เราได้พิจารณาหลายวิธีในการอัปเดตใบรับรองหลักที่เชื่อถือได้บนคอมพิวเตอร์เครือข่าย Windows ที่แยกจากอินเทอร์เน็ต (สภาพแวดล้อมที่ถูกตัดการเชื่อมต่อ)