บังคับให้ Pidgin ยอมรับใบรับรองที่ไม่ถูกต้อง


23

ฉันได้รับข้อผิดพลาดต่อไปนี้ใน Pidgin 2.10.10-3.fc20 (libpurple 2.10.10)

ฉันจะบังคับให้ยอมรับใบรับรองที่ไม่ถูกต้องได้อย่างไร

(ตามรายงานข้อผิดพลาดนี้ควรมีความสามารถ)

ป้อนคำอธิบายรูปภาพที่นี่

นี่คือสิ่งที่ฉันได้ทำ:

  • เยี่ยมชมโดเมนบน Firefox และส่งออกใบรับรอง
  • นำเข้าใบรับรองบนเครื่องมือ Pidgin -> ใบรับรอง
  • นำเข้าใบรับรองเมื่อseahorse(GUI keyring GUI)

โปรดเพิ่มรุ่น Ubuntu และแหล่งที่มาสำหรับรุ่น Pidgin นี้
AB

คุณเห็นสิ่งนี้ไหม บางทีใครบางคนสามารถทำงานกับข้อมูลนั้นได้ ...
ผู้บัญชาการ Byte

@ ByteCommander ลิงก์ที่คุณให้เป็นเพียงข้อเสนอจำลอง ฉันชอบที่จะเห็นมันใช้ แต่ฉันไม่มีนักพัฒนา
Guy บราซิลนั่น

ฉันต้องการใบรับรองที่ไม่ถูกต้อง =)
AB

@AB คุณแก้ไขแหล่งที่มาแล้วหรือยัง? ถ้าใช่ผมจะย้ายไปยังสิ่งอื่น :)
คอส

คำตอบ:


13

คุณสามารถดาวน์โหลดใบรับรอง SSL ด้วยตัวเอง หลังจากนั้นพิดจิ้นก็เริ่มทำงานโดยไม่มีปัญหา ในการดาวน์โหลดใบรับรองคุณสามารถใช้ยูทิลิตีบรรทัดคำสั่ง openssl

~/.purple/certificates/x509/tls_peers$ openssl s_client -connect YOUR_SERVER:PORTNUMBER  

เมื่อคำสั่งดังกล่าวล้มเหลวด้วย "ไม่มีใบรับรองเพียร์พร้อมใช้งาน" บางทีเซิร์ฟเวอร์อาจใช้ STARTTLS แทน SSL ในกรณีนี้ใช้คำสั่งต่อไปนี้:

~/.purple/certificates/x509/tls_peers$ openssl s_client -connect YOUR_SERVER:PORTNUMBER -starttls xmpp

ตอนนี้คัดลอกส่วนที่ขึ้นต้นด้วย "---- BEGIN CERTIFICATE ----" หากคุณพิมพ์เนื้อหาของไฟล์ใบรับรองดูเหมือนว่าต่อไปนี้:

~/.purple/certificates/x509/tls_peers$ cat jabber.ulm.ccc.de 

-----BEGIN CERTIFICATE-----
MIIFXDCCA0QCCQCa5jxvwccm0DANBgkqhkiG9w0BAQUFADBwMQswCQYDVQQGEwJE
RTEMMAoGA1UEBxMDVWxtMRUwEwYDVQQLEwxDQ0MgRXJmYSBVbG0xGjAYBgNVBAMT
EWphYmJlci51bG0uY2NjLmRlMSAwHgYJKoZIhvcNAQkBFhFqYWJiZXJAdWxtLmNj
...
3EIpMVk3V1djyj0FEuDaG/o+6BTLCiIMiIUFtbpVz8YZChHbv8ObMJ5JpUIkDfKZ
si1YZKpUYwpVXgTCUml67lArx/sq95OQsDSO3fR1Ch0=
-----END CERTIFICATE-----

1
...แล้วไงต่อ? ฉันจะวางไฟล์ที่ดาวน์โหลดได้ที่ไหน?
Guy บราซิลนั่น

8
วางไฟล์ในไดเรกทอรี ~ / .purple / certificate / x509 / tls_peers / และเป็นสิ่งสำคัญที่ชื่อไฟล์คือชื่อ DNS ของเซิร์ฟเวอร์ jabber ดังนั้นหากบัญชี jabber ของคุณคือ user123@jabber.ulm.ccc.de คุณต้องสร้างไฟล์: ~ / .purple / ใบรับรอง / x509 / tls_peers / jabber.ulm.ccc.de
Martin

2
ความคิดเห็นข้างต้นโดย @Martin ควรรวมอยู่ในคำตอบเนื่องจากเป็นสิ่งสำคัญมากที่จะทำให้งานนี้ วิธีแก้ปัญหายืนยันบน Kubuntu 15.04 ด้วย Pidgin 2.10.9 (libpurple 2.10.9)
Bastien

11

ปรากฎว่ามีข้อผิดพลาดที่มีใบรับรองใน Pidgin 2.10.10 (libpurple 2.10.10):

ในเวอร์ชัน 2.10.10 ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ XMPP ซึ่งใช้ใบรับรอง SSL ที่ลงชื่อด้วยตนเองได้อีกต่อไป ข้อความแสดงข้อผิดพลาดคือ: ใบรับรองสำหรับไม่สามารถตรวจสอบได้ ห่วงโซ่ใบรับรองที่นำเสนอไม่ถูกต้อง

การเชื่อมต่อเป็นไปได้ถ้าใบรับรองเซิร์ฟเวอร์อยู่ในแคชภายใน (.purple \ certificate \ x509 \ tls_peers) หากใบรับรองยังไม่ถูกแคช (เช่นหลังจากการติดตั้ง windows / pidgin ใหม่) การเชื่อมต่อล้มเหลว

การอัปเกรดเป็น 2.10.11 ช่วยแก้ไขปัญหา หากคุณใช้ Ubuntu รุ่นเก่ากว่าเช่นฉันคุณสามารถใช้PPA (12.04, 14.04 และ 14.10)


2
Unfortunatelly, อัพเกรดpidgin 2.10.11ในUbuntu 15.04ไม่ได้ช่วย ฉันเพิ่งตรวจสอบแล้วเห็นว่าปัญหายังไม่ได้รับการแก้ไข
Jacobian

@Jacobian คุณอัพเกรดทั้ง Pidgin และ libpurple แล้วหรือยัง?
Guy ชาวบราซิลนั่น

2
ใช่มันจะไม่ทำงานสำหรับฉันจนกว่าฉันจะลบ libpurple: sudo apt-get remove libpurple0แล้วติดตั้งใหม่sudo apt-get install pidgin
EoghanM

ความรู้สึกนั้นเมื่อหนึ่งปีของ PPA ที่ล้าสมัยนั้นสูงกว่าที่เก็บข้อมูลอย่างเป็นทางการ 2 รุ่น
สวัสดีแองเจิล

2

เป็นสิ่งสำคัญที่ชื่อที่คุณป้อนเมื่อนำเข้าใบรับรองผ่านToolsCertificatesตรงกับconnect serverในการกำหนดค่าบัญชี XMPP นี่เป็นวิธีเดียวที่ฉันสามารถทำให้มันทำงานได้สำหรับข้อผิดพลาดเดียวกัน

เชื่อมต่อเซิร์ฟเวอร์และชื่อโฮสต์ใบรับรองควรตรงกัน


1
ยินดีต้อนรับสู่ถาม Ubuntu! คุณช่วยอธิบายรายละเอียดเกี่ยวกับเรื่องนั้นได้ไหม (EG ให้ตัวอย่างคำสั่ง)? ถ้าเป็นสิ่งที่ดีและคุณทิ้งฉันไว้ฉันจะกลับมาและโหวตขึ้น! ;-)
Fabby

1
@ Fabby ขอบคุณฉันเพิ่มสกรีนช็อตเพื่อให้ชัดเจนยิ่งขึ้นไม่ต้องใช้คำสั่ง
tobigue

การแก้ไขและการโหวต! ;-)
Fabby

หลังจากใช้เวลาหลายชั่วโมงเพื่อแก้ไข (15:24:43) nss: ERROR -8101: SEC_ERROR_INADEQUATE_CERT_TYPE (15:24:43) nss: subject name not verifiedนี่เป็นทางแก้ปัญหา !! ขอบคุณ !!
matteolel

2

myserver.chat.comวิธีแก้ปัญหาก็คือการที่จะนำเข้าชื่อของเซิร์ฟเวอร์ที่ระบุไว้ในข้อผิดพลาดเช่น ตัวอย่างเช่น:

  1. เปิดเบราว์เซอร์ Firefox และใส่ URL: HTTPS://mysever.chat.comคุณจะได้รับข้อผิดพลาด:

    ข้อผิดพลาดใบรับรองไม่ถูกต้อง

  2. เลือกตัวเลือกแล้วAdvanced Add Exceptionป๊อปอัพสำหรับใบรับรองจะเปิดขึ้น

  3. จากนั้นคลิกAdvanced-> Details->Export

    ผู้ดูใบรับรอง

  4. บันทึกใบรับรองที่ไหนสักแห่ง

  5. เปิด Pidgin ไปที่Tools-> Certificates-> Add ตอนนี้บันทึกใบรับรองด้วยชื่อสามัญเดียวกันกับข้อผิดพลาดในการเริ่มต้น

ในที่สุดลองเชื่อมต่ออีกครั้ง


หากไคลเอ็นต์ (ทำงาน) บนเครื่องอื่นพร้อมใช้งานการส่งออกใบรับรองจากที่นั่นและนำเข้าอีกครั้งเช่นเดียวกับที่คุณอธิบาย
พาล

2

ทางที่ง่าย,

  1. ปิดพิดจิ้น
  2. ค้นหาโฟลเดอร์ใบรับรองของคุณ ( Win­dows: %appdata%\.purple) (Linux: /home/<Username>/.purple/certificates/x509/tls_peers)
  3. ลบทุกอย่างในโฟลเดอร์ใบรับรอง
  4. รีสตาร์ท pidgin และในที่สุดคุณควรได้รับใบรับรองใหม่ที่ใช้งานได้

PS: ผู้ใช้ Windows ที่ไม่คุ้นเคย%app­data%เพียงพิมพ์%appdata%\.purpleในแถบที่อยู่ของคุณแล้วกด Enter


1

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

หากคุณสร้างจากซอร์สสิ่งหนึ่งที่ต้องลองคือการแก้ไขซอร์สโค้ดสำหรับ libpurple / certificate.c; ย้ายการตรวจสอบ PURPLE_CERTIFICATE_FATALS_MASK ภายใต้การตรวจสอบ PURPLE_CERTIFICATE_NON_FATALS_MASK เพื่อแจ้งผู้ใช้ แต่อนุญาตใบรับรองหากยอมรับ อาจไม่ใช่สิ่งที่ปลอดภัยที่สุดที่จะทำ แต่ได้ผลสำหรับฉัน


1

คุณสามารถใช้ Pidgin-developers PPAเพื่อแก้ไขได้ ฉันติดตั้งแพคเกจพิดจิ้นและ libpurple จากแหล่งนั้นและแก้ไขปัญหาของฉันด้วยการเข้าถึงทรัพยากร Lync 2013 ขณะนี้สามารถอนุญาตใบรับรองโดยอัตโนมัติ (แสดงกล่องโต้ตอบเพื่อยอมรับหรือปฏิเสธใบรับรองที่ไม่รู้จัก) คุณเคยลองไหม หากคุณใช้ 15.04 นอกจากนี้ยังมีวิธีแก้ไขปัญหาเพื่อดาวน์โหลดแพ็กเกจสองสามชุดและแทนที่แพ็คเกจเก่าด้วยแพ็คเกจใหม่ ฉันทดสอบใน 15.04 แล้วใช้งานได้


มันจะมีประโยชน์หากคุณสามารถแชร์ว่า "แพ็คเกจไม่กี่แพคเกจ" ในการดาวน์โหลดและจะแทนที่อะไร ที่จับฉันคือตอนนี้มี 15.04 และพิดจิ้น 2.10.11 แต่ก็ยังมีข้อผิดพลาดฉาวโฉ่นี้เกี่ยวกับใบรับรอง
Jacobian

แพคเกจทั้งหมดเหล่านี้ใน pidgin repo คุณจะพบพวกเขาเมื่อพยายามติดตั้ง pidgin และ libourple หรือคุณสามารถเพิ่ม pidgin repo กับเวอร์ชั่น distro ก่อนหน้าไปยังแหล่งที่มารายการและทำการติดตั้งตามปกติมันจะติดตั้งการพึ่งพาทั้งหมดโดยอัตโนมัติ แต่โปรดตรวจสอบ PPA pidgin อาจจะมีเวอร์ชั่นที่สดใสอยู่แล้ว
3417815

ดีข้อความเกี่ยวกับใบรับรองยังคงมีอยู่ในพิดจิ้น แต่ตอนนี้คุณสามารถรับใบรับรองสำหรับแต่ละเซสชันได้
3417815

ดังนั้นหากพวกเขามีอยู่แล้วใน repo ทำไมพวกเขาไม่ได้ติดตั้งโดยอัตโนมัติ? และคุณได้โปรดตั้งชื่อแพ็คเกจเหล่านี้เพื่อที่ฉันจะหามันได้ไหม และคุณยินดีที่จะแบ่งปันวิธีการติดตั้งแพคเกจนี้ (แยกจาก pidgin หรือใช้. / config หรืออื่น ๆ ?) มิฉะนั้น "ปกติติดตั้ง" เสียงจะคลุมเครือ
Jacobian

อย่างที่ฉันบอกว่ามันเป็น PPA แต่คุณสามารถตรวจสอบได้และอาจจะพบว่ามันไม่มีงานสร้างโดยเฉพาะสำหรับ 15.04 ดังนั้นหากคุณเพิ่มเป็น PPA คุณอาจจะไม่สามารถติดตั้งแพ็คเกจใด ๆ ได้ มันทำให้รู้สึกผิด? ฉันขอโทษตรวจสอบ PPA นี้ประมาณหนึ่งเดือนที่ผ่านมายังไม่มีงานสร้างที่สดใส
3417815

0

บังคับให้ pidgin ดาวน์โหลดใบรับรองใหม่

rm ~/.purple/certificates/x509/tls_peers/*

ปิดและเปิดพิดจิ้นอีกครั้ง

ls ~/.purple/certificates/x509/tls_peers/*

ตอนนี้ควรแสดงรายการใบรับรองที่ดาวน์โหลดใหม่

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