ก่อนอื่นคะแนนสองเท่าที่อาจเหมือนกันสำหรับคุณ
- ฉันพยายามอัปเดตใบรับรองเนื่องจากหมดอายุแล้ว
- ฉันมีหลายโดเมนที่ผูกไว้กับ IP เดียวกัน พวกเขาเป็นใบรับรอง SAN แต่อาจไม่เกี่ยวข้อง
- ฉันพยายามใช้ที่เก็บใบรับรองส่วนกลาง อีกครั้งฉันคิดว่านี่ไม่เกี่ยวข้องกับคำตอบส่วนใหญ่ของฉัน
- ฉันพยายามอัปเดตใบรับรองแล้ว แต่ไม่ได้แสดงวันที่ใหม่
- คุณอาจกำลังหวาดกลัวในขณะนี้หากใบรับรองเก่าของคุณหมดอายุแล้ว หายใจลึก ๆ...
ก่อนอื่นฉันขอแนะนำอย่างยิ่งว่าให้ไปhttps://www.digicert.com/help/
และดาวน์โหลดเครื่องมือ DigiCert ของพวกเขา คุณยังสามารถใช้งานออนไลน์ได้
ป้อนในเว็บไซต์ของคุณhttps://example.com
แล้วมันจะแสดงวันหมดอายุและรหัสประจำตัว (MS ใดที่เรียกแฮชใบรับรอง) เป็นการค้นหาตามเวลาจริงดังนั้นคุณไม่ต้องกังวลว่าเบราว์เซอร์ของคุณ (หรือเซิร์ฟเวอร์กลาง) กำลังแคชบางอย่างอยู่หรือไม่
หากคุณใช้ที่เก็บใบรับรองส่วนกลางคุณจะต้องมั่นใจ 100% ว่าไฟล์. pfx เป็นรุ่นล่าสุดดังนั้นให้ไปที่ไดเรกทอรีร้านค้าของคุณและเรียกใช้คำสั่งนี้:
C:\WEBSITES\SSL> certutil -dump www.example.com.pfx
นี่จะแสดงวันที่หมดอายุและแฮช / รหัสประจำตัว เห็นได้ชัดว่าถ้าวันหมดอายุนี้ไม่ถูกต้องคุณอาจเพิ่งส่งออกหนังสือรับรองที่ไม่ถูกต้องไปยังระบบไฟล์ดังนั้นให้ไปและแก้ไขก่อน
หากคุณกำลังใช้ CCS อยู่สมมติว่าคำสั่ง certutil นี้ให้วันหมดอายุที่คาดหวัง (ของใบรับรองที่อัปเดตของคุณ) คุณสามารถดำเนินการต่อได้
เรียกใช้คำสั่ง:
netsh http show sslcert > c:\temp\certlog.txt
notepad c:\temp\certlog.txt
คุณน่าจะมีหลายอย่างในที่นี่ดังนั้นจึงง่ายที่จะเปิดในเครื่องมือแก้ไขข้อความ
คุณจะต้องการค้นหาแฮชที่ผิดพลาดที่คุณได้รับจากไฟล์นี้digicert.com
(หรือรหัสประจำตัวที่คุณได้รับจากโครม)
สำหรับฉันนี้ให้ผลดังต่อไปนี้ คุณจะเห็นว่ามันถูกผูกไว้กับ IP และไม่ใช่ชื่อโดเมนที่ฉันคาดไว้ ปัญหานี้เป็นปัญหา. ดูเหมือนว่าที่นี้ (ด้วยเหตุผลใดก็ตามผมไม่แน่ใจ) จะเหนือกว่าชุดที่มีผลผูกพันใน IIS example.com
ที่ฉันปรับปรุงเพียงสำหรับ
IP:port : 10.0.0.1:443
Certificate Hash : d4a17e3b57e48c1166f18394a819edf770459ac8
Application ID : {4dc3e181-e14b-4a21-b022-59fc669b0914}
Certificate Store Name : My
Verify Client Certificate Revocation : Enabled
Verify Revocation Using Cached Client Certificate Only : Disabled
Usage Check : Enabled
Revocation Freshness Time : 0
URL Retrieval Timeout : 0
Ctl Identifier : (null)
Ctl Store Name : (null)
DS Mapper Usage : Disabled
Negotiate Client Certificate : Disabled
ฉันไม่รู้ด้วยซ้ำว่าการเชื่อมโยงนี้มาจากที่ใด - ฉันไม่มีการผูก SSL ในไซต์เริ่มต้นของฉัน แต่เซิร์ฟเวอร์นี้มีอายุไม่กี่ปีและฉันคิดว่ามีบางสิ่งที่เสียหายและติดอยู่
ดังนั้นคุณจะต้องลบมัน
เพื่อให้ปลอดภัยคุณต้องเรียกใช้คำสั่งต่อไปนี้ก่อนเพื่อให้แน่ใจว่าคุณลบรายการนี้เพียงรายการเดียว:
C:\Windows\system32>netsh http show sslcert ipport=10.0.0.1:443
SSL Certificate bindings:
-------------------------
IP:port : 10.0.0.1:443
Certificate Hash : d4a17e3b57e48c1166f18394a819edf770459ac8
Application ID : {4dc3e181-e14b-4a21-b022-59fc669b0914}
Certificate Store Name : My
Verify Client Certificate Revocation : Enabled
Verify Revocation Using Cached Client Certificate Only : Disabled
Usage Check : Enabled
Revocation Freshness Time : 0
URL Retrieval Timeout : 0
Ctl Identifier : (null)
Ctl Store Name : (null)
DS Mapper Usage : Disabled
Negotiate Client Certificate : Disabled
ตอนนี้เราได้ตรวจสอบแล้วว่านี่เป็นลายนิ้วมือที่ 'ไม่ดี' และคาดว่าจะสามารถลบมันได้ด้วยคำสั่งนี้:
C:\Windows\system32>netsh http delete sslcert ipport=10.0.0.1:443
SSL Certificate successfully deleted
หวังว่าถ้าคุณกลับไปที่ Digicert และเรียกใช้คำสั่งอีกครั้งมันจะให้รหัสประจำตัวของใบรับรองที่คุณคาดหวัง คุณควรตรวจสอบชื่อ SAN ทั้งหมดหากคุณมั่นใจ
อาจต้องการ IISRESET ที่นี่เพื่อให้แน่ใจว่าไม่น่าแปลกใจในภายหลัง
หมายเหตุสุดท้าย: หากคุณใช้ที่เก็บใบรับรองส่วนกลางและคุณเห็นพฤติกรรมที่ผิดปกติที่พยายามตรวจสอบว่ามีการเก็บใบรับรองจากที่นั่นหรือไม่ไม่ต้องกังวล - ไม่ใช่ความผิดของคุณ ดูเหมือนว่าบางครั้งจะรับไฟล์ใหม่ทันที แต่แคชไฟล์เก่า การเปิดและบันทึกการผูก SSL ใหม่หลังจากทำการเปลี่ยนแปลงใด ๆ ดูเหมือนว่าจะรีเซ็ต แต่ไม่ใช่ 100% ของเวลา
โชคดี :-)
[::1]:443
ขณะที่การปรับปรุงใบรับรองใน IIS0.0.0.0:443
ปรับปรุงเพียงบันทึกสำหรับ ขอขอบคุณ!