-
Notifications
You must be signed in to change notification settings - Fork 229
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
WSAA Python3 UTF-8 Encoding #46
base: py3k
Are you sure you want to change the base?
Conversation
* UTF-8 encoding * Fixes TypeError: data must be bytes or None, not str
Gracias por el aporte @urbina05 ! Consultas:
Si puedo mañana lo pruebo (y recorro los tests para ver en que estado están); sería útil si alguien más puede revisarlo antes del merge. |
De nada, estos cambios me salvaron de una. Te respondo en orden:
|
bio = BIO.MemoryBuffer(cert) | ||
x509 = X509.load_cert_bio(bio, X509.FORMAT_DER) | ||
bio = BIO.MemoryBuffer(cert.encode('utf8')) | ||
x509 = X511.load_cert_bio(bio, X509.FORMAT_DER) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sin entender mucho esto es lo único que me llama la atención, el cambio de 509 a 511
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Buena observación, posiblemente es un error de tipeo, debería ser X509
, que es el nombre que está importado (y debería estar funcionando en otra linea más abajo para los casos normales).
Para probarlo, habría que pasar un certificado en binario, llamando al método AnalizarCertificado(crt, binary=True)
Lo probé en local y me funcionó perfecto con este PR e instalando M2Crypto con "pip3 install M2Crypto". |
@jjscarafia para probarlo sin M2Crypto habría que desinstalar ese paquete o saltear el import en wsaa.py:30
@urbina05 ahi hice el comentario en la parte que está comentada en Habría que revisar la cobertura de los tests, porque puede haber algunas partes del código que no se usen frecuentemente, dependan del sistema operativo, etc.. |
Para corregir excepciones de Python3 por encodings (TypeError y AttributeError) se les añadio encode('utf8') o decode('utf8') a las llamadas a funciones:
Además el archivo wsaa.py ahora tiene codificación utf8 y los espacios en blancos fueron removidos