Skip to main content

DFVA client for python.

Project description

dfva cliente para python

Este cliente permite comunicarse con DFVA para proveer servicios de firma digital para Costa Rica a institutiones.

Instalación y configuración

Instale mediante pypi:

pip install dfva-python

También se puede instalar utilizando el código fuente

git clone https://github.com/luisza/dfva_python.git
cd dfva_python
python setup.py install

Adicionalmente se crea un archivo de configuración en $HOME/.dfva_python/client.conf donde se ingresan los datos de la institución, una buena forma de crear este archivo es:

python
>>> from dfva_python.settings import Settings
>>> settings=Settings()
# a este punto ya se ha creado el archivo de configuración,
#pero puede ser de utilidad modificar las propiedades de la
# institución así
>>> settings.PRIVATE_KEY=''
>>> settings.SERVER_PUBLIC_KEY=''
>>> settings.PUBLIC_CERTIFICATE=''
>>> settings.CODE=''
>>> settings.URL_NOTIFY='N/D'
>>> settings.save()

Modo de uso

Este cliente permite:

  • Autenticar personas y verificar estado de autenticación

  • Firmar documento xml, odf, ms office y verificar estado de firma durante el tiempo que el usuario está firmando

  • Validar un certificado emitido con la CA nacional de Costa Rica provista por el BCCR

  • Validar un documento XML firmado.

  • Revisar si un suscriptor está conectado.

Ejemplo de uso

Nota: notificationURL debe estar registrado en dfva o ser N/D en clientes no web

Si se desea autenticar y revisar estado de la autenticación

from dfva_python.client import Client
c = Client()
auth_resp = c.authenticate('04-0212-0119')
print(auth_resp)
c.check_autenticate(auth_resp['id_transaction'])

Si se desea revisar si un suscriptor está conectado

c.is_suscriptor_connected('04-0777-08888')

Si se desea firmar y revisar estado de la firma.

DOCUMENT = '''IyEvYmluL2Jhc2gKCk5PRk9SQ0U9dHJ1ZQpBUFRfQ0FDSEU9IiIKCndoaWxlIGdldG9wdHMgY2h5
IG9wdGlvbgpkbwogY2FzZSAiJHtvcHRpb259IgogaW4KIHkpIE5PRk9SQ0U9ZmFsc2U7OwogYykg
QVBUX0NBQ0hFPXRydWU7OwogaCkgbXloZWxwCiAgICBleGl0IDAgOzsKIGVzYWMKZG9uZQoKaWYg
WyAkQVBUX0NBQ0hFIF07IHRoZW4gCiBlY2hvICJCSU5HTyIgCmZpCgo='''

sign_resp=c.sign( '04-0212-0119', DOCUMENT.encode(), "resumen ejemplo", _format='xml_cofirma')
# _format puede ser xml_cofirma, xml_contrafirma, odf, msoffice
print(sign_resp)
c.check_sign(sign_resp['id_transaction'])

Nota: La revisión de estado de la autenticación/firma no es necesaria en servicios web ya que estos son notificados por en la URL de institución proporcionado.

Si se desea validar un certificado

c.validate(DOCUMENT, 'certificate')

Si se desea validar un documento XML

c.validate(DOCUMENT, 'cofirma')
# cofirma, contrafirma, odf, msoffice

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dfva-python-0.0.2.tar.gz (6.3 kB view details)

Uploaded Source

File details

Details for the file dfva-python-0.0.2.tar.gz.

File metadata

  • Download URL: dfva-python-0.0.2.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for dfva-python-0.0.2.tar.gz
Algorithm Hash digest
SHA256 3b59c82c04f38e70d582d11ced606a4a64ed377aac191bca15abd99e3c0b743f
MD5 ab2f83cfa364b7e1983dcfcc263dcc28
BLAKE2b-256 f4a7d26a6b2cd4b9a91097c7b13afa9a581afaaf364f6540c7cee4cba9218b4a

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page