WSFEv1 -> [SSL: DH_KEY_TOO_SMALL] dh key too small

778 views
Skip to first unread message

Horacio

unread,
Jul 10, 2022, 3:43:22 PM7/10/22
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Buenas Noches. Trabajando con Python 3.10.5, en Windows 10, en Homologación todo perfecto, pero cambiando a producción:

#  al ejecutarse metodo Conectar en (rece1.py)
ws = wsfev1.WSFEv1()
ws.Conectar(....

#...en (utils.py), cuando llega a:
self.client = SoapClient(
                wsdl=wsdl,
                cache=cache,
                proxy=proxy_dict,
                cacert=cacert,
                timeout=timeout,
                ns=ns,
                soap_server=soap_server,
                trace="--trace" in sys.argv,
            )

#...obtenemos el error:
"...\Python310\lib\ssl.py", line 1342, in do_handshake self._sslobj.do_handshake()
ssl.SSLError: [SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:997)

Hemos visto respuestas en el grupo (solo para Linux), donde indican que es necesario desactivar el nivel de seguridad 2 en el cifrado de OpenSSL (editando openssl.cnf).

Pregunta: Es posible hacer algo similar en Windows, o alguna otra solución...?

Muchas Gracias.
Horacio.

Walter Fabian Espindola

unread,
Jul 12, 2022, 10:25:44 AM7/12/22
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Tengo el mismo problema, alguna idea?

Walter Fabian Espindola

unread,
Jul 12, 2022, 10:47:17 AM7/12/22
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Tengo el mismo problema que Horacio, alguna idea??

Gracias!
Walter

Mariano Reingart

unread,
Jul 12, 2022, 11:00:35 PM7/12/22
to pyaf...@googlegroups.com
Hola Walter

Ese error SSL: DH_KEY_TOO_SMALL es por una configuración "menos segura" en los servidores de AFIP.

Una solución en linux es habilitar los protocolos compatibles modificando la configuración de OpenSSL:

sed -i 's/CipherString = DEFAULT@SECLEVEL=2/CipherString = DEFAULT@SECLEVEL=1/' /etc/ssl/openssl.cnf

En windows hay que ajustar el contexto SSL.

En el repositorio del proyecto está reportado, y dejé un comentario explicativo:


Ya también hice el ajuste para Windows y Python 3.10 (en teoría ya estaba el workaround para otras versiones):


Si pueden probarlo y confirmar que funciona bien la solución sería buenisimo

Sds



--
Proyecto PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT:
http://www.pyafipws.com.ar/ - http://www.github.com/reingart/pyafipws - http://www.sistemasagiles.com.ar/
---
Has recibido este mensaje porque estás suscrito al grupo "PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a pyafipws+u...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/pyafipws/baf3efc4-1c78-4b2a-817c-4719a9776118n%40googlegroups.com.

Walter Fabian Espindola

unread,
Jul 13, 2022, 9:55:39 PM7/13/22
to pyaf...@googlegroups.com
Muchas gracias!!

Walter


Has recibido este mensaje porque estás suscrito a un tema del grupo "PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT" de Grupos de Google.
Para cancelar la suscripción a este tema, visita https://groups.google.com/d/topic/pyafipws/eeOOoFesQqQ/unsubscribe.
Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a pyafipws+u...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/pyafipws/CAPyeU7SCrP9qOmYLEjXj%2BcO0qbtrCUECZ7vXqiT%3DSobbv0G-Dg%40mail.gmail.com.

Horacio

unread,
Jul 13, 2022, 9:55:53 PM7/13/22
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Excelente Mariano, solución rápida, y funcional.
Probamos el fix propuesto (https://github.com/reingart/pyafipws/pull/95), y ahora el cliente se crea correctamente, en los entornos descriptos.
Luego, si llegamos a detectar algo más, ya solicitando caes en producción, informaremos.
Muchas Gracias.

Ariel

unread,
Jan 31, 2024, 4:03:50 PMJan 31
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Buenas tardes!

Estoy teniendo este mismo inconveniente en Odoo 16ce (Ubuntu 22.04.3, Python 3.10.12, pyOpenSSL 21.0.0, PySimpleSOAP 1.8.14)

Hice la modificación en la config de openssl propuesta por Mariano pero sigo teniendo el error. 

SSLError(1, '[SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:1007)')

Saben si algún fix o algún otro workaround que pueda aplicar?

Muchas gracias.

Gustavo Orrillo

unread,
Jan 31, 2024, 4:04:55 PMJan 31
to pyaf...@googlegroups.com
proba reiniciando el servidor



--

Ariel

unread,
Jan 31, 2024, 8:26:28 PMJan 31
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Si, lo hice después de modificado el openssl.cnf y varias veces más pero sigue dando el mismo error.

Gracias

mariomop

unread,
Feb 1, 2024, 10:53:26 AMFeb 1
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Ariel, si usás Python 3.10 fijate en el mensaje de Mariano un poco más arriba y asegurate de que tenés el parche que comenta:

Ya también hice el ajuste para Windows y Python 3.10 (en teoría ya estaba el workaround para otras versiones):



Ariel

unread,
Feb 2, 2024, 8:42:22 AMFeb 2
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Muchas gracias Mariano y Gustavo por las respuestas. 

Clone el repo de la branch py310-ssl-win-dh-key-too-small que tiene el fix y funciona bien. La localización de Odoo esta tomando la branch py3k por default.

Saludos,

Ariel

Reply all
Reply to author
Forward
0 new messages