
โดยทั่วไปสแน็ปอิน MMC แบบกราฟิกต่อไปนี้จะใช้ในการจัดการใบรับรองใน Windows: certlm.msc (ใบรับรอง Local Machine), certmgr.msc (ใบรับรองผู้ใช้) และยูทิลิตีบรรทัดคำสั่ง certutil เครื่องมือทั้งหมดนี้โต้ตอบกับร้านค้าใบรับรองแบบลอจิคัล ซึ่งจะสรุปตำแหน่งทางกายภาพของคีย์ใบรับรองสาธารณะและส่วนตัวบนดิสก์และในรีจิสทรีจากผู้ใช้และแอป
ตำแหน่งร้านค้าใบรับรองแบบลอจิคัลและฟิสิคัลใน Windows
คีย์สาธารณะและคีย์ส่วนตัวของใบรับรองใน Windows จะไม่ถูกจัดเก็บไว้ในที่ส่วนกลางเดียวกัน คีย์สาธารณะของใบรับรองจะถูกจัดเก็บไว้ในรีจิสทรี (สามารถแยกออกมาได้) แต่คีย์ส่วนตัว (ถ้ามี) จะถูกจัดเก็บไว้ในระบบไฟล์และได้รับการเข้ารหัส
ตามค่าเริ่มต้น Windows Certificate Manager ( certmgr.msc ) จะแสดงเฉพาะมุมมองลอจิคัลของที่เก็บใบรับรอง หากต้องการดูที่เก็บใบรับรองทางกายภาพในคอนโซล ให้เลือก View-> Options จากเมนูและเปิดใช้งานการจัดเก็บใบรับรองทางกายภาพ คอนโซลจะแสดงคีย์ใบรับรองที่จัดกลุ่มตามตำแหน่งที่เก็บข้อมูลจริง (รีจิสทรี คอมพิวเตอร์ในเครื่อง สมาร์ทการ์ด ฯลฯ)

ใบรับรองในรีจิสทรี:
ร้านขายใบรับรอง |
รหัสรีจิสทรี |
คำอธิบาย—|—|— ผู้ใช้ |
HKCU\SOFTWARE\Microsoft\SystemCertificates |
คีย์สาธารณะของใบรับรองผู้ใช้
ผู้ใช้ |
HKCU\SOFTWARE\Policies\Microsoft\SystemCertificates |
คีย์สาธารณะของใบรับรองผู้ใช้ที่ใช้งานโดยใช้นโยบายกลุ่มโฆษณา
คอมพิวเตอร์ |
HKLM\SOFTWARE\Microsoft\SystemCertificates |
กุญแจสาธารณะใบรับรองเครื่อง
คอมพิวเตอร์ |
HKLM\SOFTWARE\Microsoft\วิทยาการเข้ารหัสลับ\บริการ |
กุญแจสาธารณะของบริการทั่วไป
คอมพิวเตอร์ |
HKLM\SOFTWARE\Policies\Microsoft\SystemCertificates |
กุญแจสาธารณะของใบรับรองเครื่องที่ติดตั้งผ่าน GPO
คอมพิวเตอร์ |
HKLM\SOFTWARE\Microsoft\EnterpriseCertificates |
คีย์สาธารณะของเครื่องได้รับการติดตั้งจาก CA องค์กรในโดเมน AD
คีย์ส่วนตัวของใบรับรองบนไดรฟ์ระบบ:
ผู้ใช้ |
%APPDATA%\Microsoft\SystemCertificates |
ไดเร็กทอรีนี้จัดเก็บคีย์สาธารณะของผู้ใช้และตัวชี้ไปยังคีย์ใบรับรองส่วนตัว—|—|—ผู้ใช้ |
%APPDATA%\Microsoft\Crypto |
คอนเทนเนอร์คีย์ส่วนตัวของผู้ใช้
คอมพิวเตอร์ |
%ProgramData%\Microsoft\Crypto |
คอนเทนเนอร์คีย์ส่วนตัวของเครื่อง
การเข้ารหัส DPAPI สิ่งนี้ทำให้มั่นใจได้ว่าเฉพาะเจ้าของบัญชีที่รู้รหัสผ่านเท่านั้นที่สามารถถอดรหัสคีย์ส่วนตัวได้ สิ่งนี้จะปกป้องคีย์ส่วนตัวหากถูกโจมตี
Windows ใช้คีย์เข้ารหัสหลักตามรหัสผ่านเข้าสู่ระบบของผู้ใช้เพื่อปกป้องคีย์ส่วนตัวของใบรับรองด้วย สิ่งนี้ทำให้มั่นใจได้ว่าเฉพาะเจ้าของบัญชีที่รู้รหัสผ่านเท่านั้นที่สามารถถอดรหัสคีย์ส่วนตัวได้ วิธีนี้จะช่วยปกป้องคีย์ส่วนตัวหากผู้โจมตีรีเซ็ตรหัสผ่านผู้ดูแลระบบภายในเครื่อง
เช่นเดียวกับวิธีที่คุณเข้าถึงออบเจ็กต์บนระบบไฟล์ คุณสามารถเข้าถึงที่เก็บใบรับรองลอจิคัลจาก PowerShell ได้โดยใช้ผู้ให้บริการ Cert ในตัว
ตัวอย่างเช่น นี่คือคำสั่ง PowerShell ที่ใช้นำทางไปยังที่เก็บใบรับรองของคอมพิวเตอร์
cd ใบรับรอง:\LocalMachine\my
แสดงรายการใบรับรองในร้านค้า LocalMachine:
รับไอเทม *

หรือคุณสามารถใช้คำสั่ง certutil เพื่อแสดงรายการใบรับรองของเครื่อง:
ใบรับรองร้านค้า MY
กำลังแยกใบรับรองออกจาก Windows Registry
ใบรับรองจะถูกเก็บไว้ภายใต้คีย์รีจิสทรี HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\SystemCertificates\MY สามารถระบุได้ด้วยรหัสประจำตัวในชื่อคีย์รีจิสทรี ข้อมูลสำหรับใบรับรองแต่ละรายการจะถูกจัดเก็บไว้ในค่าไบนารี BLOB ซึ่งมีใบรับรองแบบเต็มในรูปแบบที่เข้ารหัส DER
![]()
ใช้สคริปต์ PowerShell นี้เพื่อแยกข้อมูลใบรับรอง BLOB จากรีจิสทรีตามรหัสประจำตัว จากนั้น แปลงข้อมูลเป็นรูปแบบ X509Certificate2 และพิมพ์ข้อมูลใบรับรอง:
` $regPath=“HKLM:\SOFTWARE\Microsoft\SystemCertificates\MY\Certificates\D9DA2EDD7CBC0EFBF476276672DEBFD56870AAF8”$blob=(Get-ItemProperty-Path $regPath).Blob
$cert=New-Object System.Security.Cryptography.X509Certificates.X509Certificate2-ArgumentList (, $blob)
$ใบรับรอง | รูปแบบ-รายการหัวเรื่อง, ผู้ออก, NotBefore, NotAfter, Thumbprint `

หากต้องการส่งออกใบรับรองคีย์สาธารณะนี้เป็นไฟล์ CER (สำหรับถ่ายโอนไปยังคอมพิวเตอร์เครื่องอื่น) ให้รันคำสั่งต่อไปนี้:
` $certBytes=$cert.Export(System.Security.Cryptography.X509Certificates.X509ContentType::Cert)
System.IO.File::WriteAllBytes(“c:\temp\exported_certificate.cer”, $certBytes) `

วิธีการนี้มีประโยชน์สำหรับการวิเคราะห์ที่เก็บใบรับรองของระบบที่ล้มเหลวโดยการดึงข้อมูลจากกลุ่มรีจิสทรีแบบออฟไลน์ ซึ่งช่วยให้คุณสามารถแยกส่วนสาธารณะทั้งหมดของใบรับรองที่ติดตั้งบนคอมพิวเตอร์ได้
ใช้สคริปต์ RecoverOfflineCertificate เพื่อส่งออกคีย์ส่วนตัวจากคอมพิวเตอร์ออฟไลน์
*️⃣ ลิงค์ที่มา:
ใบรับรองที่ใช้งานโดยใช้นโยบายกลุ่ม AD, , รีเซ็ตรหัสผ่านผู้ดูแลระบบท้องถิ่น, , RecoverOfflineCertificate ,