-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
El SSL no anda bien desde Azure #133
Comments
Disculpas por la intromisión. ¿Qué valores tienen |
Me parece que falta aclarar algo medio importante, por lo que vi en twitter están usando docker. Lo que hace el error mas raro todavía |
WOW SON DISTINTOS!!! @gilgamezh como puede ser? Son practicamente iguales, pero el de Azure al final tiene esto que el del docker local NO tiene:
|
@facundobatista de dónde sacaste lo que pegaste ahi? con el script? una posibilidad es que ese comportamiento cambie con el kernel. En Docker tu kernel es el del host. |
@gilgamezh te parece?? @facundobatista |
ah! ya entendí! esa data sale de |
@gilgamezh si, la unica que se me ocurre es que la imagen de docker que esten usando por alguna razon tome ese archivo fuera del container |
@facundobatista pasame el output de tu local con esto mismo
y después confirmame si estas usando esta imagen |
Tal como comentan, no tiene que ver con el kernel sino con la configuración de openssl, que por algún motivo se inyecta al contenedor por algún lado. No está mal, porque requiere TLS 1.2 y evita realizar DH exchanges con claves débiles, pero el endpoint de AFIP es un tanto antiguo y adolece de algunos inconvenientes (test con ssllabs) que un cliente TLS moderno rechaza. Alternativamente puede forzarse Pero lo importante es saber de dónde sale la configuración adicional. |
che ahi levante la ultima imagen de pyar/asoc_members y el openssl.cnf tiene esas lineas. |
@facundobatista proba ejecutar la imagen que pasé a ver si falla como en prod. creo que con eso confirmamos que son diferentes imagenes |
Yo creí haber borrado todo lo que tenía en mi máquina antes de regenerar y revisar. Pero puede fallar, docker es muy lindo porque te cachea las imágenes (velocidad y ancho de banda), pero es una mierda porque te cachea las imágenes (nunca sabés del todo cuanto regeneraste de verdad). Ahora estoy en la laptop, borré todo (o al menos me parece) y rearmé todo desde cero (creo), haciendo
Por otro lado, no sé qué imagen de docker estoy usando, pero no creo que sea la de producción porque esa la arma dockerhub en función de lo que tageamos, y la local es en función del branch donde uno está parado, no? |
FTR, tengo
|
Aaaaaaaand localmente me falla como falla en Azure. Ergo, docker es una mierda (?) y me escondía en sus cachés distintas construcciones con configs distintos. Más allá de eso... ¿cómo hago para hablarle a la AFIP? |
Si pruebo toqueteando |
Entonces, deberíamos meter ese "fix" como parte del Dockerfile, como dice @aenima-x , ¿cierto? |
@facundobatista No se cual seria la solución menos "ciruja". @gilgamezh usted que sabe mas dira |
Con respecto al fix lo estudio un poco mas para ver cuál sería la mejor manera de "parchearlo" |
Perdon, en que quedo este tema? |
Todavía roto |
Vuelvo a este bug por una comunicación reciente de AFIP que está relacionada:
|
Quizás lo más piola que podemos hacer, teniendo en cuenta que la AFIP va a cambiar (cambió?) cosas, es ir a una plataforma, a un python y a un django más modernos. |
Sigue pasando con todo actualizado (Python 3.9, django 3.1, etc..). |
Bueno, estoy agregando esta linea al Dockerfile...
|
Efectivamente, en AFIP corrigieron el tema del protocolo (ahora sólo se acepta TLS 1.2) pero no resolvieron el problema de la longitud de clave DH que sigue siendo de 1024 bits, por lo que no hay forma de conectarse con SECLEVEL=2. |
WAT?
Atendé: si deployamos en Azure, y quiero generar facturas, tengo un traceback que termina en
Esto lo "soluciono" con el siguiente hack ESPANTOSO: edito
/usr/local/lib/python3.6/ssl.py
y hago que la variable_DEFAULT_CIPHERS
sea'AES128-SHA'
.Por otro lado, si lo pruebo localmente, no en Azure, funciona todo ok de entrada.
La forma de probarlo fácil: con este script (van a tener que poner el contenido de este zip en
/tmp/
).Cuando ese script "funciona" el resultado es:
(que muestra que el script dialoga con AFIP, más allá que a AFIP no le gusten los tokens)
Qué loco, ¿no?
The text was updated successfully, but these errors were encountered: