ฉันจะล้างแคช SSL ของ Chrome ได้อย่างไร


72

ฉันมีเซิร์ฟเวอร์ HAProxy / stunnel ที่จัดการ SSL สำหรับเว็บไซต์ของเราใน AWS ในระหว่างการทดสอบฉันสร้างใบรับรองที่ลงชื่อด้วยตัวเองบนเซิร์ฟเวอร์นี้และใช้ Chrome จากเดสก์ท็อปของฉันเพื่อทดสอบว่า stunnel ทำงานได้อย่างถูกต้อง

ตอนนี้ฉันได้ติดตั้งใบรับรองที่ถูกต้องบนเซิร์ฟเวอร์นั้น เมื่อฉันเข้าชมไซต์จากเครื่องของฉันใน Chrome มันจะพ่นข้อผิดพลาดต่อไปนี้:

ข้อผิดพลาด 113 (สุทธิ :: ERR_SSL_VERSION_OR_CIPHER_MISMATCH): ข้อผิดพลาดที่ไม่รู้จัก

ฉันเดาว่า Chrome เก็บคีย์สำหรับใบรับรองที่ลงชื่อด้วยตนเองและไม่ตรงกับใบรับรองที่ถูกกฎหมาย ไซต์นี้ใช้งานได้กับเบราว์เซอร์อื่น ๆ ทั้งหมดในเครื่องของฉันดังนั้นมันจึงเป็นปัญหาของ Chrome

หมายเหตุที่น่าสนใจหนึ่งอย่าง:เมื่อกดปุ่มเพจจากเซสชันที่ไม่ระบุตัวตน ( Ctrl+ Shift+ N) แสดงว่าทำงานได้อย่างถูกต้อง ดังนั้นมันจึงเป็นเรื่องของแคช

ฉันทำทุกสิ่งที่ฉันนึกถึง (ทิ้งแคชลบใบรับรองจากหน้าส่วนตัวและคนอื่น ๆ ในกล่องโต้ตอบจัดการใบรับรองCtrl+ F5ฯลฯ )

เครื่องของฉันคือ Windows 7 x64 รุ่น Chrome: 12.0.742.91

ในแบบฟอร์มช่วยเหลือของ Google Chrome มีรายละเอียดของสิ่งที่ดูเหมือนจะเป็นปัญหาเดียวกัน ; อย่างไรก็ตามไม่พบวิธีแก้ไข


UPDATE:ดูเหมือนว่าจะ "แก้ไขตัวเอง" ในวันนี้ ฉันเกลียดปัญหาเช่นนี้ ฉันยังไม่รู้ว่าเกิดจากสาเหตุใดหรือแก้ไขได้อย่างไร สันนิษฐานว่าใบรับรองแคชหมดอายุหรือบางสิ่งบางอย่าง แต่ฉันยังสนใจที่จะทราบว่าข้อมูลนี้ถูกเก็บไว้ที่ใดและจะตรวจสอบอย่างไร


ฉันได้ยินจากผู้ใช้รายอื่น: ปัญหานี้เกิดขึ้นในเครื่องของฉันด้วย Avast Antivirus ที่ล้าสมัยเล็กน้อย Avast สร้างเลเยอร์ระหว่างเบราว์เซอร์ของคุณและเว็บด้วยใบรับรอง SHA1 หากคุณปิดใช้งาน avast สักครู่หนึ่ง Chrome จะสามารถเข้าถึงใบรับรองที่ส่งมอบโดยเซิร์ฟเวอร์ของคุณ ในกรณีของฉันการอัปเดตโปรแกรม Avast ง่าย ๆ แก้ปัญหาได้
Foovanadil

นี่ไม่ใช่กรณีบนเครื่องของฉันเพราะฉันไม่ได้ติดตั้งโปรแกรมป้องกันไวรัส
Foovanadil

1
เนื่องจากคำถามถูกล็อคฉันไม่สามารถเพิ่มคำตอบได้ แต่ใน windows คุณต้อง 1) ไปที่การตั้งค่า => จัดการใบรับรอง => ลบใบรับรองแล้ว 2) ปิด Chrome แล้ว 3) ไปที่ตัวจัดการงานและฆ่าทั้งหมดด้วยตนเอง ของกระบวนการ Chrome.exe เมื่อคุณเปิด Chrome อีกครั้งคุณควรไปได้ดี
jakejgordon

@jakejgordon - ฉันไม่สามารถเห็นใบรับรองในหน้าต่างจัดการใบรับรองได้ แต่การฆ่า Chrome.exe และเปิด Chrome อีกครั้งเป็นการหลอกลวงสำหรับฉัน หมายเหตุฉันมีเว็บตัวกรอง / การตรวจสอบพร็อกซีทำงานเช่นกัน แต่ไม่จำเป็นต้องหยุด
Lars Kemmann

4
ทำไมคำถามนี้ "ได้รับการป้องกัน" เมื่อไม่มีคำตอบที่ถูกต้องหรือใช้งานได้? @ ไมเคิล-Hampon?
NickG

คำตอบ:


26

Chrome เก็บสถานะใบรับรอง SSL ต่อโฮสต์ไว้ในประวัติเบราว์เซอร์

ดังนั้นเพียงแค่ล้างประวัติเบราว์เซอร์ ( Ctrl+ Shift+ Del) อย่างน้อยส่วนต่อไปนี้:

  • รูปภาพและไฟล์ที่แคช
  • ข้อมูลแอปที่โฮสต์
  • ใบอนุญาตเนื้อหา
  • คุกกี้และข้อมูลอื่นของไซต์สำหรับ Chrome รุ่น 64

โซลูชันที่ 2หากข้างต้นไม่ช่วยลองสิ่งนี้:

  • ปิด Chrome
  • ลบไดเรกทอรี:
    %USERPROFILE%/AppData/Local/Google/Chrome/User Data/CertificateTransparency

ปัญหาของฉันเก่าแล้วดังนั้น Chrome อาจมีการเปลี่ยนแปลงพฤติกรรมนี้ แต่มันไม่ได้ผลสำหรับฉันที่จะล้างแคช (ดังที่ฉันได้กล่าวไว้ในคำถาม) ถ้ามันใช้งานได้ตอนนี้มันจะยอดเยี่ยม
Foovanadil

40
สิ่งนี้ไม่ได้ผลสำหรับฉัน
Serj Sagan

1
สิ่งนี้ใช้งานได้สำหรับฉันปัญหาเฉพาะของฉันคือ Chrome บอกว่าใบรับรองหมดอายุ แต่เนื่องจากคนอื่นสามารถเข้าถึงไซต์บน https ได้ฉันจะเห็นว่ามีใบรับรองใหม่ที่ใช้ได้จริง แต่ด้วยเหตุผลบางประการ Chrome ไม่ได้ร้องขอ มันหรืออาจจะอ่านอย่างถูกต้อง
โรงฆ่าสัตว์

1
ผู้ใช้ FIDDLER : หากคุณใช้ Fiddler ที่มีการสกัดกั้น HTTPS fiddler จะทำการแคชใบรับรอง SSL ในการแก้ไขปัญหานี้คุณต้องเรียกใช้ตัวเลือก "ลบการสกัดกั้นใบรับรอง" เพื่อล้างแคชของเบราว์เซอร์ของคุณ (ไม่จำเป็นต้องล้างสิ่งอื่นและรีสตาร์ทเบราว์เซอร์ทั้งนี้ขึ้นอยู่กับเบราว์เซอร์ที่คุณกำลังใช้ แต่สิ่งเหล่านี้จำเป็นสำหรับ Chrome
NickG

2
น่าเศร้าที่ฉันค้นหาทั้งอินเทอร์เน็ตและไม่ได้รับการแก้ไข แต่ในที่สุดก็ลองด้วยตัวเอง ปิด Chrome และลบไดเรกทอรี "CertificateTransparency" ภายใต้ "C: / Users / <your-user-name> / AppData / Local / Google / Chrome / ข้อมูลผู้ใช้" และรีสตาร์ทจากนั้นคุณจะพบพรอมต์ปรากฏขึ้นอีกครั้ง
Shou Ya

9

ปัญหามากมายเกี่ยวกับใบรับรอง SSL สามารถแก้ไขได้โดยเพียงแค่ลบไฟล์ออกจากโฟลเดอร์แคช

ใน Chrome หรือโครเมี่ยม, ไฟล์จะถูกลบออกเป็นในโฟลเดอร์cert9.db ~/.pki/nssdb(ใน Firefox คุณต้องการลบcert8.db)

ความสนใจ! หลังจากลบไฟล์เหล่านี้แล้วคุณจะต้องลงทะเบียน CA อีกครั้งในเบราว์เซอร์ของคุณ

ขั้นตอนสำหรับผู้ใช้ Windows จะค่อนข้างแตกต่างกัน


7
มันจะดีถ้าคุณสามารถทำอย่างละเอียดหรือให้ลิงค์ที่เกี่ยวข้องกับการลงทะเบียน CA อีกครั้ง
Mike Shultz

ดูเหมือนว่าการเลิกและรีสตาร์ท Chrome จะทำงานหลังจากนี้
Ian Turton

~/.pkiโฟลเดอร์ไม่มีอยู่สำหรับฉัน (บนMac) - และการขาดคำอธิบายเกี่ยวกับการลงทะเบียน CA อีกครั้งดูเหมือนว่าเป็นการกำกับดูแลที่ยิ่งใหญ่ นอกจากนี้ "บน Windows แตกต่างกันบ้าง" ไม่เป็นประโยชน์ ถ้าคุณไม่ทราบวิธีการที่จะแก้ไขได้สำหรับ Windows เพียงแค่พูดว่า "นี่เป็นวิธีการแก้ปัญหา * ระวังเท่านั้น"
dwanderson

4

เท่าที่ฉันรู้ใบรับรองไม่เฉพาะเจาะจงกับ Google Chrome (อย่างน้อยใน Windows) แต่สำหรับทั้งระบบ คุณได้ลบใบรับรองนั้นผ่านทางอินเทอร์เฟซของ Chrome ดังนั้นควรหายไป

เพียงเพื่อให้แน่ใจว่าคุณสามารถลอง

เริ่ม→เรียกใช้→ certmgr.msc

เครื่องมือที่จะลองก็คือCCleaner ควรช่วยทำความสะอาดแคชของ Chrome ให้ดีขึ้น


1
พยายาม certmgr.msc และฉันไม่เห็นใบรับรองในนั้น อย่างที่คุณบอกว่ามันหายไปอย่างชัดเจนเนื่องจากเบราว์เซอร์อื่นทำสิ่งที่ถูกต้องบางทีนี่อาจเป็นข้อผิดพลาดของโครมบางอย่าง
Foovanadil

ดังนั้น ... คุณมีโชคหรือยัง คุณได้ลอง CCleaner ตามที่แนะนำแล้วหรือยัง .. หรือเครื่องมืออื่น ๆ
LazyOne

ฉันใช้ CCCleaner และดูสิ่งที่ต้องการลบและไม่มีอะไรมากไปกว่าที่ Chrome จะลบ (แค่คุกกี้และข้อมูลเซสชัน)
Foovanadil

1
หากเป็นจริงทำไมโหมดไม่ระบุตัวตนทำงาน
Jose Nobile

-2

วิธีที่แม่นยำยิ่งขึ้น:

Ctrl + Shift + Del (หรือการตั้งค่า> ขั้นสูง> ล้างข้อมูลการท่องเว็บ)

[ช่วงเวลา: ตลอดเวลา]

  • รูปภาพและไฟล์ Chached

กด: ล้างข้อมูล


3
OP กล่าวว่าเขาล้างแคชแล้วดังนั้นสำหรับคำถามอายุ 7 ปีคำตอบนี้จะไม่ช่วยผู้ใช้
Dennis Nolte
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.