Pidgin이 유효하지 않은 인증서를 받도록 강제


23

Pidgin 2.10.10-3.fc20 (libpurple 2.10.10)에서 다음 오류가 발생합니다.

유효하지 않은 인증서를 강제로 승인하려면 어떻게해야합니까?

( 이 버그 보고서 에 따르면 가능해야합니다.)

여기에 이미지 설명을 입력하십시오

내가 한 일은 다음과 같습니다.

  • Firefox의 도메인을 방문하여 인증서를 내보냈습니다.
  • Pidgin 도구 에서 인증서 가져 오기 -> 인증서
  • 인증서 가져 seahorse오기 (그놈 키링 GUI)

Ubuntu 버전과이 Pidgin 버전의 소스를 추가하십시오.
AB

이거 봤어 ? 아마도 누군가가 그 정보를 가지고 작업 할 수있을 것입니다.
바이트 사령관

@ByteCommander 제공 한 링크는 제안 모형 일뿐입니다. 나는 것 사랑 이 구현보고,하지만 난 어떤 개발자입니다하지 않습니다.
그 브라질 사람

유효하지 않은 인증서가 필요합니다. =)
AB

@AB 소스를 이미 편집 했습니까? 그렇다면 나는 다른 것으로 이동할 것입니다 :)
kos

답변:


13

대안으로 직접 SSL 인증서를 다운로드 할 수 있습니다. 그 후 피진은 문제없이 시작됩니다. 인증서를 다운로드하려면 openssl 명령 행 유틸리티를 사용할 수 있습니다.

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

위의 명령이 "사용 가능한 피어 인증서 없음"으로 실패하면 서버는 SSL 대신 STARTTLS를 사용합니다. 이 경우 다음 명령을 사용하십시오.

~/.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
...그 다음엔? 다운로드 한 파일을 어디에 배치합니까?
브라질 사람

8
~ / .purple / certificates / x509 / tls_peers / 디렉토리에 파일을 저장하십시오. 파일 이름은 jabber 서버의 DNS 이름이어야합니다. 따라서 jabber 계정이 user123@jabber.ulm.ccc.de 인 경우 파일을 작성해야합니다. ~ / .purple / certificates / x509 / tls_peers / jabber.ulm.ccc.de
Martin

2
이 작업을 수행하는 것이 매우 중요하므로 @Martin의 위의 주석이 답변에 포함되어야합니다. 쿠분투 15.04에서 Pidgin 2.10.9 (libpurple 2.10.9)로 해결 방법이 확인되었습니다.
Bastien

11

그것을 밝혀 거기 인증서 버그 (2.10.10 libpurple) 피진 2.10.10에서는 :

버전 2.10.10에서는 더 이상 자체 서명 된 SSL 인증서를 사용하는 XMPP 서버에 연결할 수 없습니다. 오류 메시지는 다음에 대한 인증서를 확인할 수 없습니다. 제시된 인증서 체인이 유효하지 않습니다.

서버 인증서가 이미 로컬 캐시 (.purple \ certificates \ x509 \ tls_peers)에있는 경우 연결할 수 있습니다. 인증서가 아직 캐시되지 않은 경우 (예 : 새로 설치 한 Windows / 피진 설치 후) 연결이 실패합니다.

2.10.11로 업그레이드하면 문제가 해결됩니다. 나 같은 오래된 우분투 버전을 사용한다면 하는 경우 PPA (12.04, 14.04 및 14.10)를


2
불행히도 pidgin 2.10.11in으로 업그레이드 Ubuntu 15.04해도 도움이되지 않습니다. 방금 확인한 결과 문제가 해결되지 않은 것으로 보입니다.
Jacobian

@Jacobian Pidgin과 libpurple을 모두 업그레이드 했습니까 ?
그 브라질 사람

2
예, libpurple sudo apt-get remove libpurple0을 제거한 후 다시 설치하기 전까지는 작동하지 않습니다.sudo apt-get install pidgin
EoghanM

1 년 동안 쓸모없는 PPA가 공식 저장소보다 2 버전 높은 느낌입니다.
Hi-Angel

2

Tools→ 를 통해 인증서를 가져올 때 입력 한 이름이 XMPP 계정 구성에서 Certificates와 일치하는 것이 중요 connect server합니다. 이것이 동일한 오류에 대해 작동하도록 할 수있는 유일한 방법입니다.

연결 서버 및 인증서 호스트 이름이 일치해야합니다


1
우분투에 오신 것을 환영합니다! 그것에 대해 자세히 설명해 주시겠습니까 (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) (리눅스 : /home/<Username>/.purple/certificates/x509/tls_peers)
  3. 인증서 폴더의 모든 것을 삭제하십시오.
  4. pidgin을 다시 시작하면 결국 새 인증서가 작동합니다.

PS : 익숙하지 않은 Windows 사용자 %app­data%단지 형 %appdata%\.purple주소창 입력하고 Enter 키를 누릅니다있다.


1

인증서 문제를 여러 번 저장된 사본으로 수동으로 교체하여 인증서 문제를 해결할 수있었습니다. 그 후 작업이 중단되었으며 2.11로 업그레이드해도 도움이되지 않는 것 같습니다.

소스에서 빌드하는 경우 libpurple / certificates.c의 소스 코드를 수정하는 것이 좋습니다. PURPLE_CERTIFICATE_NON_FATALS_MASK 확인에서 PURPLE_CERTIFICATE_FATALS_MASK 확인을 이동하여 사용자에게 프롬프트하지만 승인 된 경우 인증서를 허용하도록 확인하십시오. 아마 가장 안전한 일이 아니지만 나를 위해 일했습니다.


1

Pidgin-developers PPA 를 사용 하여 해결할 수 있습니다. 해당 소스에서 pidgin 패키지와 libpurple을 설치했으며 Lync 2013 리소스에 액세스 할 때 발생하는 문제를 해결했습니다. 이제 인증서를 자동으로 허용 할 수 있습니다 (알 수없는 인증서를 수락하거나 거부하는 대화 상자 표시). 당신은 그것을 시도 했습니까? 15.04를 사용한 경우 몇 가지 패키지를 다운로드하고 이전 패키지를 새 패키지로 바꾸는 해결 방법도 있습니다. 이미 15.04에서 테스트했는데 작동합니다.


다운로드 할 "몇몇 패키지"와 대체 할 내용을 공유 할 수 있다면 도움이 될 것입니다. 캐치에는 15.04와 pidgin 2.10.11이 있지만 인증서에 대한 악명 높은 오류 메시지가 여전히 있습니다.
Jacobian

pidgin repo에있는이 모든 패키지는 pidgin과 libourple을 설치할 때 찾을 수 있습니다. 또는 source.list에 이전 배포판이있는 pidgin repo를 추가하고 일반적인 설치를 수행하면 모든 종속성이 자동으로 설치되지만 pidgin PPA를 확인하십시오. 어쩌면 이미 선명한의 버전이
user3417815

음, 인증서에 대한 메시지는 여전히 피진에 존재하지만 지금은 각 세션에 대해 인증서를 수락 할 수 있습니다
user3417815

그들이 이미 repo에 있다면 왜 자동으로 설치되지 않습니까? 그리고 당신은, 내가 찾을 수 있도록이 패키지들 중 일부의 이름을 지을 수 있습니까? 그리고이 패키지를 설치하는 방법 (pidgin과 별도로 또는 ./configure 등을 사용하는 방법)을 공유하게된다면, 그렇지 않으면 "일반적인 설치"소리가 모호합니다.
Jacobian

내가 말했듯이 PPA이지만 확인할 수 있으며 특히 15.04 용 빌드가없는 것을 알 수 있습니다. 따라서 PPA로 추가하면 패키지를 설치할 수 없습니다. 냄새가 나나요? 죄송합니다. 약 한 달 전에이 PPA를 확인했지만 여전히 생생한 빌드가 없었습니다.
user3417815

0

pidgin이 새 인증서를 다운로드하도록합니다.

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

피진을 닫았다가 다시 엽니 다.

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

이제 새로 다운로드 한 인증서가 나열됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.