Buộc Pidgin chấp nhận chứng chỉ không hợp lệ


23

Tôi nhận được lỗi sau trên Pidgin 2.10.10-3.fc20 (libpurple 2.10.10).

Làm thế nào tôi có thể buộc nó chấp nhận một chứng chỉ không hợp lệ?

(Theo báo cáo lỗi này, nó sẽ có khả năng).

nhập mô tả hình ảnh ở đây

Đây là những gì tôi đã làm:

  • đã truy cập tên miền trên Firefox và xuất chứng chỉ
  • đã nhập chứng chỉ trên các công cụ Pidgin -> chứng chỉ
  • Đã nhập chứng chỉ trên seahorse(GUI khóa gnome)

Vui lòng thêm phiên bản Ubuntu và nguồn cho phiên bản Pidgin này.
AB

Bạn đã thấy điều này ? Có lẽ ai đó có thể làm việc với thông tin đó ...
Chỉ huy Byte

@ByteCommander liên kết bạn cung cấp chỉ là một mockup đề xuất. Tôi muốn yêu để xem nó thực hiện, nhưng tôi không có nhà phát triển.
chàng người Brazil đó

Tôi cần một chứng chỉ không hợp lệ. =)
AB

@AB Bạn đã chỉnh sửa nguồn chưa? Nếu có, tôi sẽ chuyển sang thứ khác :)
kos

Câu trả lời:


13

Thay thế, bạn có thể tải chứng chỉ ssl bằng tay. Sau đó pidgin bắt đầu mà không có vấn đề. Để tải chứng chỉ, bạn có thể sử dụng tiện ích dòng lệnh openssl.

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

Khi lệnh trên không thành công với "không có chứng chỉ ngang hàng" thì có thể máy chủ sử dụng STARTTLS thay vì SSL. Trong trường hợp này sử dụng lệnh sau:

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

Bây giờ sao chép phần bắt đầu bằng "---- BEGIN CHỨNG NHẬN ----". Nếu bạn in nội dung của tệp chứng chỉ, nó sẽ trông như sau:

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

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

1
...và rồi chuyện gì xảy ra? Tôi đặt tập tin tải xuống ở đâu?
chàng người Brazil đó

8
Đặt tệp trong thư mục ~ / .purple / cert / x509 / tls_peers / Và điều quan trọng là tên tệp là tên DNS của máy chủ jabber. Do đó, nếu tài khoản jabber của bạn là user123@jabber.ulm.ccc.de thì bạn phải tạo tệp: ~ / .purple / cert / x509 / tls_peers / jabber.ulm.ccc.de
Martin

2
Nhận xét trên của @Martin nên được đưa vào câu trả lời, vì nó rất quan trọng để thực hiện công việc này. Cách giải quyết được xác nhận trên Kubfox 15.04 với Pidgin 2.10.9 (libpurple 2.10.9).
Bastien

11

Hóa ra có một lỗi với các chứng chỉ trong Pidgin 2.10.10 (libpurple 2.10.10):

Trong phiên bản 2.10.10, không thể kết nối với máy chủ XMPP sử dụng chứng chỉ SSL tự ký. Thông báo lỗi là: Chứng chỉ không thể xác thực. Chuỗi chứng chỉ được trình bày là không hợp lệ.

Có thể kết nối nếu chứng chỉ máy chủ đã có trong bộ đệm cục bộ (.purple \ cert \ x509 \ tls_peers). Nếu chứng chỉ chưa được lưu trong bộ nhớ cache (ví dụ: sau khi cài đặt windows / pidgin mới), kết nối không thành công.

Nâng cấp lên 2.10.11 khắc phục sự cố. Nếu bạn đang sử dụng phiên bản Ubuntu cũ hơn như tôi, bạn có thể sử dụng PPA (12.04, 14.04 và 14.10)


2
Đáng tiếc, nâng cấp lên pidgin 2.10.11trong Ubuntu 15.04không giúp được gì. Tôi vừa kiểm tra nó và thấy rằng vấn đề vẫn chưa được giải quyết.
Jacobian

@Jacobian Bạn đã nâng cấp cả Pidgin và libpurple chưa?
chàng người Brazil đó

2
Có, nó sẽ không hoạt động với tôi cho đến khi tôi gỡ bỏ libpurple: sudo apt-get remove libpurple0và sau đó cài đặt lạisudo apt-get install pidgin
EoghanM

Cảm giác đó, khi một năm PPA lỗi thời cao hơn 2 phiên bản so với kho chính thức.
Hi-Angel

2

Điều quan trọng là tên bạn nhập khi nhập chứng chỉ qua ToolsCertificateskhớp với connect servercấu hình tài khoản XMPP. Đây là cách duy nhất tôi có thể khiến nó hoạt động với cùng một lỗi.

Kết nối máy chủ và tên máy chủ chứng chỉ phải khớp


1
Chào mừng bạn đến hỏi Ubuntu! Bạn có thể giải thích về điều đó (EG Cung cấp một lệnh ví dụ)? Nếu đó là một cái tốt, và bạn để lại cho tôi một ghi chú, tôi sẽ quay lại và nâng cấp! ;-)
Fabby 13/07/2015

1
@Fabby cảm ơn, tôi đã thêm Ảnh chụp màn hình để làm cho nó rõ ràng hơn, không cần lệnh.
tobigue

Một chỉnh sửa bỏ phiếu! ;-)
Fabby 16/07/2015

Sau nhiều giờ dành cho việc giải quyết (15:24:43) nss: ERROR -8101: SEC_ERROR_INADEQUATE_CERT_TYPE (15:24:43) nss: subject name not verifiedĐây là giải pháp !! Cảm ơn!!
mattolel

2

Một cách giải quyết khác là nhập tên của máy chủ được chỉ định trong lỗi như thế nào myserver.chat.com. Ví dụ:

  1. Mở trình duyệt Firefox và đặt URL : HTTPS://mysever.chat.com, bạn sẽ gặp lỗi:

    Lỗi chứng chỉ không hợp lệ

  2. Chọn, Advancedtùy chọn sau đó Add Exception. Một cửa sổ bật lên cho chứng chỉ sẽ mở ra.

  3. Sau đó bấm Advanced-> Details->Export

    Trình xem chứng chỉ

  4. Lưu chứng chỉ ở đâu đó

  5. Mở Pidgin, đi đến Tools-> Certificates-> Add Bây giờ lưu chứng chỉ có cùng tên với lỗi ban đầu.

Cuối cùng, cố gắng kết nối lại.


Nếu một máy khách (đang hoạt động) trên bất kỳ máy nào khác có sẵn, việc xuất chứng chỉ từ đó và nhập lại như bạn đã mô tả (cả hai sử dụng trình quản lý chứng chỉ) cũng hoạt động.
bắt nạt

2

Cách dễ dàng,

  1. Đóng Pidgin
  2. Tìm thư mục chứng chỉ của bạn ( Win­dows: %appdata%\.purple) (Linux /home/<Username>/.purple/certificates/x509/tls_peers:)
  3. Xóa mọi thứ trong thư mục chứng chỉ.
  4. Khởi động lại pidgin và cuối cùng bạn sẽ nhận được một chứng chỉ mới hoạt động.

PS: Người dùng Windows không quen thuộc %app­data%chỉ cần gõ %appdata%\.purplevào thanh địa chỉ của bạn và nhấn enter.


1

Tôi đã có thể khắc phục vấn đề chứng chỉ bằng cách thay thế thủ công bằng một bản sao đã lưu một vài lần. Sau đó đã ngừng hoạt động và nâng cấp lên 2.11 dường như không có ích.

Nếu bạn xây dựng từ nguồn, một điều cần thử là sửa đổi mã nguồn cho libpurple / cert.c; di chuyển kiểm tra PURPLE_CERTIFICATE_FATALS_MASK trong kiểm tra PURPLE_CERTIFICATE_NON_FATALS_MASK để nhắc người dùng nhưng cho phép chứng chỉ nếu được chấp nhận. Có lẽ không phải là điều an toàn nhất để làm, nhưng làm việc cho tôi.


1

Bạn có thể sử dụng PPA của nhà phát triển Pidgin để giải quyết nó. Tôi đã cài đặt các gói pidgin và libpurple từ nguồn đó và nó đã giải quyết vấn đề của tôi khi truy cập tài nguyên Lync 2013. Bây giờ nó có thể tự động cho phép chứng chỉ (hiển thị hộp thoại để chấp nhận hoặc từ chối chứng chỉ không xác định). Bạn đã thử chưa? Nếu bạn đã sử dụng 15.04 thì cũng có một cách giải quyết để tải xuống một vài gói và thay thế gói cũ bằng gói mới. Tôi đã thử nó vào ngày 15.04 rồi, nó hoạt động.


Sẽ rất hữu ích nếu bạn có thể chia sẻ "vài gói" để tải xuống và những gì cần thay thế. Điều đáng chú ý là hiện tại tôi có 15.04 và pidgin 2.10.11, nhưng vẫn có thông báo lỗi khét tiếng về chứng chỉ.
Jacobian

Tất cả các gói này trong pidgin repo, bạn sẽ tìm thấy chúng khi thử cài đặt pidgin và libourple HOẶC bạn có thể thêm pidgin repo với phiên bản distro trước đó vào nguồn.list và thực hiện cài đặt thông thường, nó sẽ tự động cài đặt tất cả các phụ thuộc, nhưng vui lòng kiểm tra pidgin PPA , có lẽ nó đã có phiên bản cho sinh động
user3417815

Chà, tin nhắn về chứng chỉ vẫn tồn tại trong pidgin, nhưng giờ bạn sẽ có thể chấp nhận chứng chỉ cho mỗi phiên
user3417815

Vì vậy, nếu chúng đã có trong repo, tại sao chúng không được cài đặt tự động? Và bạn có thể, xin vui lòng, đặt tên cho một số các gói này, để tôi có thể xác định vị trí của chúng? Và bạn sẽ thật tử tế khi chia sẻ cách các gói này nên được cài đặt (tách biệt với pidgin hoặc sử dụng ./mình hoặc cách khác?), Nếu không thì "cài đặt thông thường" nghe có vẻ mơ hồ.
Jacobian

Như tôi đã nói đó là PPA, nhưng bạn có thể kiểm tra nó và có thể sẽ thấy nó không có bản dựng đặc biệt cho 15.04. Vì vậy, nếu bạn thêm nó dưới dạng PPA, có lẽ bạn sẽ không thể cài đặt bất kỳ gói nào từ đó. Liệu nó có ý nghĩa? Tôi xin lỗi, đã kiểm tra PPA này khoảng một tháng trước, vẫn chưa có bản dựng nào cho sinh động.
dùng3417815

0

Buộc pidgin để tải chứng chỉ mới.

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

Đóng và mở lại pidgin.

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

Bây giờ điều này sẽ liệt kê các chứng chỉ mới tải về.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.