ctmil / odoo-argentina

Una Localización Argentina de Odoo amigable
GNU Affero General Public License v3.0
15 stars 38 forks source link

Error al conectar con AFIP: ssl.SSLError: [SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:1108) #20

Closed Pablossi closed 4 years ago

Pablossi commented 4 years ago

Estoy intentando hacer la prueba de conexión con "Dummy Test" y recibo el mensaje de error: No se puede conectar. Esto es lo que recibimos: ssl.SSLError: [SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:1108)

*Version affectada: Ubuntu 20.04.1 LTS + Odoo 13.0-20200723 (Versión Community)

Version de OpenSSL: 1.1.1f 31 Mar 2020

  • Yo creo que el certificado emitido no tiene el nivel de encriptacion necesaria. Es posible que esto sea un problema con la version de ubuntu o OpenSSL?

Alguna sugerencia para solucionarlo.

Muchas gracias.

rubeto commented 4 years ago

Hola, probá cambiando la línea: CipherString = DEFAULT@SECLEVEL=2 en el archivo: /etc/ssl/openssl.cnf a: CipherString = DEFAULT@SECLEVEL=1

o alternativamente comentala con #

Saludos, Rubén

Pablossi commented 4 years ago

Hola Rubén.

Te cuento que a raíz de lo que me comentaste hice varias pruebas y estuve buscando información al respecto pero no conseguí solucionar el problema.

De hecho, no tengo tenia esa linea en mi archivo de configuración, y la incluí, de esta forma, para ver como respondía.

Al comienzo del archivo coloque:

openssl_conf = default_conf

Y al final coloque:

[ default_conf ]

MinProtocol = TLSv1.2 CipherString = DEFAULT@SECLEVEL=1

Como no resulto lo termine dejando como estaba originalmente.

Te adjunto la configuración de este archivo para que puedas ver como esta, tenes alguna otra sugerencia?

openssl.cnf.txt

Saludos y gracias de antemano.

rubeto commented 4 years ago

Hola, el problema es que las últimas versiones de Debian y Ubuntu traen un seteo de ssl mas estricto que el que usa AFIP, así que hay que bajar el nivel de CipherString. Yo lo resolví como te mostré en Debian Buster. Te dejo un link donde alguien muestra como bajar el CipherString en Ubuntu 20.04: https://askubuntu.com/questions/1233186/ubuntu-20-04-how-to-set-lower-ssl-security-level

Pablossi commented 4 years ago

En realidad no te lo puedo confirmar, pero creo que conseguí bajar el nivel de seguridad con la información que me pasate porque ahora me estoy encontrando con esta respuesta:

No se puede conectar. Esto es lo que recibimos: PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.8/dist-packages/pyafipws/cache'

Te paso el mensaje de error a ver si ya lo tenes visto o sabes por donde viene. Revise esa ubicación y la carpeta "cache" no existe pero si encuentro una carpeta, "/pycache".

rubeto commented 4 years ago

Hola Pablo, tenés que cambiar los permisos de esa carpeta para que el pyafipws pueda escribir:

chmod 777 -R /usr/local/lib/python3.8/dist-packages/pyafipws/

Saludos, Rubén

Pablossi commented 4 years ago

Perfecto, funciono.

Ahora, cuando hago la prueba del "Dummy test" me responde:

Servicio AFIP wsfe AppServerStatus: OK DbServerStatus: OK AuthServerStatus: OK

Muchas gracias,