Forçar o Pidgin a aceitar um certificado inválido

23

Estou recebendo o seguinte erro no Pidgin 2.10.10-3.fc20 (libpurple 2.10.10).

Como posso forçá-lo a aceitar um certificado inválido?

(De acordo com este relatório de bug, ele deve ser capaz).

insira a descrição da imagem aqui

Aqui está o que eu fiz:

  • visitou o domínio no Firefox e exportou o certificado
  • importou o certificado em ferramentas Pidgin -> certificados
  • Importou o certificado na seahorse(GUI do chaveiro do gnome)
Aquele cara brasileiro
fonte
Por favor, adicione a versão do Ubuntu e a fonte desta versão do Pidgin.
AB
Você viu isso ? Talvez alguém poderia trabalhar com essa informação ...
Byte Comandante
@ByteCommander, o link que você forneceu é apenas uma maquete de proposições. Eu amo vê-lo implementar, mas não sou um desenvolvedor.
Aquele cara brasileiro
Eu preciso de um certificado inválido. =)
AB
@AB Você já editou a fonte? Se sim, eu vou passar para outra coisa :)
kos

Respostas:

13

Como alternativa, você pode baixar o certificado SSL manualmente. Depois, o pidgin inicia sem problemas. Para baixar o certificado, você pode usar o utilitário de linha de comando openssl.

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

Quando o comando acima falha com "nenhum certificado de mesmo nível disponível", talvez o servidor use STARTTLS em vez de SSL. Nesse caso, use o seguinte comando:

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

Agora copie a parte que começa com "---- BEGIN CERTIFICATE ----". Se você imprimir o conteúdo do arquivo de certificado, será semelhante ao seguinte:

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

-----BEGIN CERTIFICATE-----
MIIFXDCCA0QCCQCa5jxvwccm0DANBgkqhkiG9w0BAQUFADBwMQswCQYDVQQGEwJE
RTEMMAoGA1UEBxMDVWxtMRUwEwYDVQQLEwxDQ0MgRXJmYSBVbG0xGjAYBgNVBAMT
EWphYmJlci51bG0uY2NjLmRlMSAwHgYJKoZIhvcNAQkBFhFqYWJiZXJAdWxtLmNj
...
3EIpMVk3V1djyj0FEuDaG/o+6BTLCiIMiIUFtbpVz8YZChHbv8ObMJ5JpUIkDfKZ
si1YZKpUYwpVXgTCUml67lArx/sq95OQsDSO3fR1Ch0=
-----END CERTIFICATE-----
Martin
fonte
1
... e depois o que? onde coloco o arquivo baixado?
Aquele cara brasileiro
8
Coloque o arquivo no diretório ~ / .purple / certificates / x509 / tls_peers / E é importante que o nome do arquivo seja o nome DNS do servidor jabber. Portanto, se sua conta jabber for [email protected], será necessário criar o arquivo: ~ / .purple / certificates / x509 / tls_peers / jabber.ulm.ccc.de
Martin
2
O comentário acima de @Martin deve ser incluído na resposta, pois é muito importante fazer isso funcionar. Solução alternativa confirmada no Kubuntu 15.04 com o Pidgin 2.10.9 (libpurple 2.10.9).
Bastien
11

Acontece que há um erro com certificados no Pidgin 2.10.10 (libpurple 2.10.10):

Na versão 2.10.10, não é mais possível conectar-se a um servidor XMPP que usa um certificado SSL autoassinado. A mensagem de erro é: O certificado para não pôde ser validado. A cadeia de certificados apresentada é inválida.

A conexão é possível se o certificado do servidor já estiver no cache local (.purple \ certificates \ x509 \ tls_peers). Se o certificado ainda não estiver em cache (por exemplo, após uma nova instalação do Windows / pidgin), a conexão falhará.

A atualização para 2.10.11 corrige o problema. Se você estiver usando uma versão mais antiga do Ubuntu como eu, poderá usar o PPA (12.04, 14.04 e 14.10)

Aquele cara brasileiro
fonte
2
Infelizmente, atualizar para o pidgin 2.10.11in Ubuntu 15.04não ajuda. Acabei de verificar e ver se o problema permanece sem solução.
Jacobiano
@ Jacobian Você atualizou o Pidgin e o libpurple?
Esse brasileiro
2
Sim, não iria trabalhar para mim até que eu removido libpurple: sudo apt-get remove libpurple0e, em seguida, reinstaladosudo apt-get install pidgin
EoghanM
Esse sentimento, quando um PPA obsoleto de um ano é 2 versões superior ao repositório oficial.
Hi-Angel
2

Parece ser importante que o nome digitado ao importar o certificado via ToolsCertificatescorresponda ao connect serverda configuração da conta XMPP. Esta é a única maneira de conseguir fazê-lo funcionar pelo mesmo erro.

O servidor de conexão e o nome do host do certificado devem corresponder

tobigue
fonte
1
Bem-vindo ao Ask Ubuntu! Você poderia elaborar isso (EG Forneça um comando de exemplo)? Se for bom, e você me deixar um recado, eu voltarei e votarei! ;-)
Fabby
1
@ Obrigado Fabby, eu adicionei uma captura de tela para torná-lo mais claro, sem comandos necessários.
Tobigue 16/07/2015
Uma edição e um voto positivo! ;-)
Fabby
Depois de horas gastas para resolver (15:24:43) nss: ERROR -8101: SEC_ERROR_INADEQUATE_CERT_TYPE (15:24:43) nss: subject name not verifiedEsta foi a solução !! Obrigado!!
matteolel 29/01
2

Outra solução alternativa é importar o nome do servidor especificado no erro como myserver.chat.com. Por exemplo:

  1. Abra o navegador Firefox e coloque o URL:, HTTPS://mysever.chat.comvocê receberá um erro:

    Erro de certificado inválido

  2. Selecione, Advancedopção então Add Exception. Um pop-up para o certificado será aberto.

  3. Depois clique em Advanced-> Details->Export

    Visualizador de certificado

  4. Salve o certificado em algum lugar

  5. Abra o Pidgin, vá para Tools-> Certificates-> Add Agora salve o certificado com o mesmo nome comum que o erro no início.

Finalmente, tente se reconectar.

Y Melo
fonte
Se um cliente (trabalhando) em qualquer outra máquina estiver disponível, exportar o certificado de lá e importá-lo novamente como você descreveu (ambos usando o gerenciador de certificados) também funciona.
valentão
2

Jeito fácil,

  1. Fechar Pidgin
  2. Encontre sua pasta certificados ( Win­dows: %appdata%\.purple) (Linux: /home/<Username>/.purple/certificates/x509/tls_peers)
  3. Exclua tudo na pasta do certificado.
  4. Reinicie o pidgin e, eventualmente, você deve obter um novo certificado que funcione.

PS: os usuários do Windows que não estão familiarizados %app­data%apenas digitam %appdata%\.purplena barra de endereço e pressione enter.

Ponteiro nulo
fonte
1

Consegui solucionar o problema do certificado substituindo-o manualmente por uma cópia salva algumas vezes. Parou de funcionar depois disso e a atualização para 2.11 não pareceu ajudar.

Se você constrói a partir da fonte, uma coisa a tentar é modificar o código fonte para libpurple / certificates.c; movendo a verificação PURPLE_CERTIFICATE_FATALS_MASK sob a verificação PURPLE_CERTIFICATE_NON_FATALS_MASK para solicitar ao usuário, mas permitir o certificado, se aceito. Provavelmente não é a coisa mais segura a fazer, mas funcionou para mim.

user591856
fonte
1

Você pode usar o PPA Pidgin-developers para resolvê-lo. Instalei pacotes pidgin e libpurple a partir dessa fonte e ele resolveu meu problema ao acessar os recursos do Lync 2013. Agora, ele pode permitir automaticamente certificados (a caixa de diálogo Mostrar aceita ou rejeita um certificado desconhecido). Você já tentou isso? Se você usou o 15.04, também há uma solução alternativa para baixar alguns pacotes e substituir os antigos por novos. Já testei no 15.04, funciona.

user3417815
fonte
Seria útil se você pudesse compartilhar quais "poucos pacotes" baixar e o que substituir. O problema é que agora tenho 15.04 e pidgin 2.10.11, mas ainda tenho essa mensagem de erro notória sobre certificados.
Jacobian
Todos esses pacotes no pidgin repo, você os encontrará ao tentar instalar o pidgin e o libourple OU você pode adicionar o pidgin repo com a versão de distribuição anterior ao sources.list e fazer a instalação habitual, ele instalará todas as dependências automaticamente, mas verifique o Pidgin PPA , talvez ele já tem versão para vívida
user3417815
Bem, as mensagens sobre certificados ainda existem no pidgin, mas agora você poderá aceitar o certificado para cada sessão
user3417815
então, se eles já estão lá no repositório, por que não são instalados automaticamente? E, por favor, você pode nomear alguns desses pacotes para que eu possa localizá-los? E você gostaria de compartilhar como esses pacotes devem ser instalados (separadamente do pidgin ou usando ./configure ou mais?), Caso contrário, a "instalação normal" parece vaga.
Jacobian
Como eu disse, é o PPA, mas você pode verificá-lo e provavelmente descobrirá que não possui compilações, especialmente para o 15.04. Portanto, se você adicioná-lo como PPA, provavelmente não poderá instalar nenhum pacote a partir daí. Faz sentido? Sinto muito, verifiquei este PPA há cerca de um mês, ainda não havia builds vívidos.
user3417815
0

Force o pidgin a baixar novos certificados.

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

Feche e abra novamente o pidgin.

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

Agora, isso deve listar os certificados baixados recentemente.

Binoy
fonte