Generación automática de certificados
dantebarba opened this issue · 3 comments
Estamos buscando una solución para la renovación automática de certificados, debido a que se vencen al año y es necesario renovarlos manualmente.
Quería saber si la librería lo permite, no logro encontrar la referencia en la documentación.
Gracias
Hola @dantebarba si, se puede automatizar la generación de CSR, ver: Métodos WSAA para Certificados
Por linea de comando, el ejemplo sería:
$ python wsaa.py --crear_pedido_cert 20267565393 MARIANO pyafipws
Encodign in UTF-8
Longitud clave 2048 (bits)
Se crearon los archivos:
clave_privada_20267565393_201903041858.key
pedido_cert_20267565393_201903041858.csr
La parte final debe hacerse por Clave Fiscal AFIP (subir el CSR y descargar el CRT firmado), lo que no se puede automatizar por ahora (facilmente, hay algunos workarounds para experimentar...)
Una vez obtenido el CRT, se puede analizar para verificar la fecha de vencimiento (atributo wsaa.Caducidad
):
Por linea de comando, el ejemplo sería:
$ python wsaa.py --analizar reingart.crt
Encodign in UTF-8
Usando CRT=reingart.crt KEY=reingart.key URL=https://wsaahomo.afip.gov.ar/ws/services/LoginCms SERVICE=wsfe TTL=36000
WSAA Version 2.11c False
CN=reingart2017/serialNumber=CUIT 20267565393
2019-07-13 15:24:35+00:00
CN=Computadores Test, O=AFIP, C=AR
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 1038432389097065538 (0xe6940c18b640c42)
Signature Algorithm: sha512WithRSAEncryption
Issuer: CN=Computadores Test, O=AFIP, C=AR
Validity
Not Before: Jul 13 15:24:35 2017 GMT
Not After : Jul 13 15:24:35 2019 GMT
Subject: CN=reingart2017/serialNumber=CUIT 20267565393
...
NOTA: no es obligatorio llamar al script por linea de comando; todos los métodos son accesibles desde Python (u otros lenguajes) de manera "programática"
Como ejercicio inicial para el GSoC se podría:
- Revisar estas cuestiones de
m2crypto
en el branch py3k, Factura Electronica Python 3 - Luego, agregar un ejemplo
renovar_certificado.py
basado en factura_electronica.py
"La parte final debe hacerse por Clave Fiscal AFIP (subir el CSR y descargar el CRT firmado), lo que no se puede automatizar por ahora (facilmente, hay algunos workarounds para experimentar...)"
Esta parte es justamente la que necesitaríamos automatizar, ¿Cuales serían esos workarounds experimentales que mencionas?. Se me ocurrió parsear la pagina usando BeautifulSoup pero veo complicado realizar todo el camino de login hasta llegar a la pantalla.