Forzar a Pidgin a aceptar un certificado no válido

23

Recibo el siguiente error en Pidgin 2.10.10-3.fc20 (libpurple 2.10.10).

¿Cómo puedo forzarlo a aceptar un certificado no válido?

(Según este informe de error , debería ser capaz).

ingrese la descripción de la imagen aquí

Esto es lo que he hecho:

  • visitó el dominio en Firefox y exportó el certificado
  • importó el certificado en herramientas Pidgin -> certificados
  • Importó el certificado en seahorse(GUI de llavero de gnome)
Ese chico brasileño
fuente
Agregue la versión de Ubuntu y la fuente de esta versión de Pidgin.
AB
¿Viste esto ? Tal vez alguien podría trabajar con esa información ...
Byte Commander
@ByteCommander, el enlace que proporcionó es solo una maqueta de propuesta. Me encantaría verlo implementado, pero no soy desarrollador.
Ese tipo brasileño
Necesito un certificado inválido =)
AB
@AB ¿Ya editó la fuente? Si es así, pasaré a otra cosa :)
kos

Respuestas:

13

Como alternativa, puede descargar el certificado SSL a mano. Luego, pidgin comienza sin problemas. Para descargar el certificado, puede usar la utilidad de línea de comandos openssl.

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

Cuando el comando anterior falla con "no hay certificado de igual disponible", entonces tal vez el servidor use STARTTLS en lugar de SSL. En este caso, use el siguiente comando:

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

Ahora copie la parte que comienza con "---- COMENZAR CERTIFICADO ----". Si imprime el contenido del archivo de certificado tiene el siguiente aspecto:

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

-----BEGIN CERTIFICATE-----
MIIFXDCCA0QCCQCa5jxvwccm0DANBgkqhkiG9w0BAQUFADBwMQswCQYDVQQGEwJE
RTEMMAoGA1UEBxMDVWxtMRUwEwYDVQQLEwxDQ0MgRXJmYSBVbG0xGjAYBgNVBAMT
EWphYmJlci51bG0uY2NjLmRlMSAwHgYJKoZIhvcNAQkBFhFqYWJiZXJAdWxtLmNj
...
3EIpMVk3V1djyj0FEuDaG/o+6BTLCiIMiIUFtbpVz8YZChHbv8ObMJ5JpUIkDfKZ
si1YZKpUYwpVXgTCUml67lArx/sq95OQsDSO3fR1Ch0=
-----END CERTIFICATE-----
Martín
fuente
1
...¿y entonces que? ¿Dónde coloco el archivo descargado?
Ese chico brasileño
8
Coloque el archivo en el directorio ~ / .purple / certificados / x509 / tls_peers / Y es importante que el nombre de archivo sea el nombre DNS del servidor jabber. Por lo tanto, si su cuenta jabber es [email protected], debe crear el archivo: ~ / .purple / certificados / x509 / tls_peers / jabber.ulm.ccc.de
Martin
2
El comentario anterior de @Martin debe incluirse en la respuesta, ya que es muy importante hacer que esto funcione. Solución confirmada en Kubuntu 15.04 con Pidgin 2.10.9 (libpurple 2.10.9).
Bastien
11

Resulta que hay un error con los certificados en Pidgin 2.10.10 (libpurple 2.10.10):

En la versión 2.10.10 ya no es posible conectarse a un servidor XMPP que utiliza un certificado SSL autofirmado. El mensaje de error es: No se pudo validar el certificado para. La cadena de certificados presentada no es válida.

La conexión es posible si el certificado del servidor ya está en el caché local (.purple \ certificados \ x509 \ tls_peers). Si el certificado aún no está en caché (por ejemplo, después de una nueva instalación de Windows / pidgin) la conexión falla.

La actualización a 2.10.11 soluciona el problema. Si está utilizando una versión anterior de Ubuntu como yo, puede usar el PPA (12.04, 14.04 y 14.10)

Ese chico brasileño
fuente
2
Desafortunadamente, actualizar a pidgin 2.10.11in Ubuntu 15.04no ayuda. Lo acabo de comprobar y veo que el problema sigue sin resolverse.
Jacobio
@Jacobian ¿Has actualizado tanto Pidgin como libpurple?
Ese chico brasileño
2
Sí, no funcionaría para mí hasta que elimine libpurple: sudo apt-get remove libpurple0 y luego reinstalesudo apt-get install pidgin
EoghanM
Esa sensación, cuando un año de PPA obsoleto es 2 versiones más alta que el repositorio oficial.
Hola Ángel,
2

Parece importante que el nombre que ingrese al importar el certificado vía ToolsCertificatescoincida con el connect serverde la configuración de la cuenta XMPP. Esta es la única forma en que pude hacerlo funcionar por el mismo error.

El servidor de conexión y el nombre de host del certificado deben coincidir

tobigue
fuente
1
Bienvenido a preguntar Ubuntu! ¿Podría dar más detalles sobre eso (por ejemplo, proporcionar un comando de ejemplo)? Si es buena y me dejas una nota, ¡volveré y votaré! ;-)
Fabby
1
@Fabby gracias, agregué una captura de pantalla para que quede más claro, no se necesitan comandos.
tobigue
¡Una edición y un voto positivo! ;-)
Fabby
Después de horas dedicadas a resolver ¡ (15:24:43) nss: ERROR -8101: SEC_ERROR_INADEQUATE_CERT_TYPE (15:24:43) nss: subject name not verifiedEsta fue la solución! ¡¡Gracias!!
matteolel
2

Otra solución es importar el nombre del servidor especificado en el error como myserver.chat.com. Por ejemplo:

  1. Abra el navegador Firefox y coloque la URL: HTTPS://mysever.chat.comobtendrá un error:

    Error de certificado inválido

  2. Seleccione, Advancedopción entonces Add Exception. Se abrirá una ventana emergente para el certificado.

  3. Luego haga clic en Advanced-> Details->Export

    Visor de certificados

  4. Guarda el certificado en alguna parte

  5. Abra Pidgin, vaya a Tools-> Certificates-> Add Ahora guarde el certificado con el mismo nombre común que el error al principio.

Finalmente, intenta reconectarte.

Melo
fuente
Si un cliente (en funcionamiento) en cualquier otra máquina está disponible, exportar el certificado desde allí e importarlo nuevamente como lo describió (ambos utilizando el administrador de certificados) también funciona.
acosador
2

Forma fácil,

  1. Cerrar Pidgin
  2. Encuentra tu carpeta de certificados ( Win­dows: %appdata%\.purple) (Linux:/home/<Username>/.purple/certificates/x509/tls_peers )
  3. Eliminar todo en la carpeta del certificado.
  4. Reinicie pidgin y, finalmente, debería obtener un nuevo certificado que funcione.

PD: Los usuarios de Windows que no están familiarizados %app­data%simplemente escriben %appdata%\.purpleen su barra de direcciones y presionan enter.

Puntero nulo
fuente
1

Pude solucionar el problema del certificado reemplazándolo manualmente con una copia guardada un par de veces. Dejó de funcionar después de eso, y actualizar a 2.11 no pareció ayudar.

Si construye desde la fuente, una cosa para intentar es modificar el código fuente para libpurple / certificados.c; moviendo la verificación PURPLE_CERTIFICATE_FATALS_MASK debajo de la verificación PURPLE_CERTIFICATE_NON_FATALS_MASK para solicitar al usuario pero permitir el certificado si se acepta. Probablemente no sea lo más seguro, pero funcionó para mí.

usuario591856
fuente
1

Puede usar Pidgin-developers PPA para resolverlo. Instalé paquetes pidgin y libpurple desde esa fuente y resolvió mi problema con el acceso a los recursos de Lync 2013. Ahora puede permitir automáticamente certificados (mostrar diálogo para aceptar o rechazar certificados desconocidos). ¿Has intentado eso? Si usó 15.04 también hay una solución alternativa para descargar algunos paquetes y reemplazar los viejos por nuevos. Ya lo probé en 15.04, funciona.

usuario3417815
fuente
Sería útil si pudiera compartir qué "pocos paquetes" descargar y qué reemplazar. El problema es que ahora tengo 15.04 y pidgin 2.10.11, pero todavía tengo este notorio mensaje de error sobre los certificados.
Jacobio
Todos estos paquetes en pidgin repo, los encontrarás cuando intentes instalar pidgin y libourple O puedes agregar pidgin repo con la versión de distribución anterior a sources.list y hacer la instalación habitual, instalará todas las dependencias automáticamente, pero comprueba pidgin PPA , tal vez ya tenga versión para vívida
user3417815
Bueno, todavía existen mensajes sobre certificados en pidgin, pero ahora podrá aceptar certificados para cada sesión
usuario3417815
entonces, si ya están allí en el repositorio, ¿por qué no se instalan automáticamente? ¿Y puede usted, por favor, nombrar algunos de estos paquetes para que yo pueda localizarlos? ¿Y sería tan amable de compartir cómo deberían instalarse estos paquetes (por separado de pidgin o usando ./configure o de lo contrario?), De lo contrario, la "instalación habitual" suena vaga.
Jacobian
Como dije, es PPA, pero puede verificarlo y probablemente encontrará que no tiene compilaciones especialmente para 15.04. Entonces, si lo agrega como PPA, probablemente no podrá instalar ningún paquete desde allí. ¿Tiene sentido? Lo siento, revisé este PPA hace aproximadamente un mes, todavía no había compilaciones para vívido.
user3417815
0

Fuerce pidgin para descargar nuevos certificados.

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

Cierra y vuelve a abrir pidgin.

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

Ahora esto debería enumerar los certificados recién descargados.

Binoy
fuente