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

1,427 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 PM1/31/24
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 PM1/31/24
to pyaf...@googlegroups.com
proba reiniciando el servidor



--

Ariel

unread,
Jan 31, 2024, 8:26:28 PM1/31/24
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 AM2/1/24
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 AM2/2/24
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

Agustin Moncada

unread,
Dec 2, 2024, 9:12:58 AM12/2/24
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Hola Ariel, estoy con el mismo problema pero no logro instalar la repo con el fix, estoy en el mismo ambiente que vos con las mismas dependencias pero obtengo el siguiente error pip._vendor.packaging.version.InvalidVersion: Invalid version: '3.10.b-3046-'

Agustin Moncada

unread,
Dec 2, 2024, 11:30:44 AM12/2/24
to PyAfipWs Factura Electrónica Libre y temas relacionados AFIP ARBA ANMAT
Colco aquí la solución que encontré. El error estaba en la versión que genera setup.py. Le hardcodee version:3.10.0 en el archivo e instaló. Luego de eso corre bien la facturación
Reply all
Reply to author
Forward
0 new messages