From 085faea6748029263748ec1e01454842ef23636e Mon Sep 17 00:00:00 2001 From: Cayo Puigdefabregas Date: Tue, 28 May 2024 14:09:57 +0200 Subject: [PATCH] use of lib --- README_es.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 58 insertions(+), 3 deletions(-) diff --git a/README_es.md b/README_es.md index 72b962a..bdbf50c 100644 --- a/README_es.md +++ b/README_es.md @@ -5,7 +5,7 @@ PyVckit es una librería para: - generar presentaciones verificables - verificar presentaciones verificables -Esta libreria esta fuertemente inspirada en (didkit de SpruceId)[https://github.com/spruceid/didkit/tree/main] y pretende mantener compatibilidad con ella. +Esta libreria esta fuertemente inspirada en [didkit de SpruceId](https://github.com/spruceid/didkit) y pretende mantener compatibilidad con ella. Por ahora la criptografía soportada es solo EdDSA con una firma Ed25519Signature2018. @@ -32,8 +32,8 @@ El modo de uso bajo la linea de comandos seria el siguiente: python did.py -n did -k keypair.json ``` -## generar una credencial de ejemplo: -Se genera un ejemplo de credencial que es el que aparece en la plantilla credential_tmpl del fichero (template.py)[template.py] +## generar una credencial firmada de ejemplo: +Se genera un ejemplo de credencial que es el que aparece en la plantilla credential_tmpl del fichero [template.py](template.py) ```sh python sign_vc.py -k keypair.json > credential_signed.json ``` @@ -52,3 +52,58 @@ Se genera un ejemplo de credencial que es el que aparece en la plantilla credent ```sh python verify_vp.py presentation_signed.json ``` + +# Uso como librería +En los test podras encontrar ejemplos de uso. Ahora explicare los casos habituales + +## generar un par de claves: +```python + from pyvckit.did import generate_keys + key = generate_keys() +``` + +## generar un identificador did: +```python + from pyvckit.did import generate_keys, generate_did + key = generate_keys() + did = generate_did(key) +``` + +## generar una credencial firmada: +Suponiendo que **credential** es una credencial válida. +**credential** es una variable de tipo string +```python + from pyvckit.did import generate_keys, generate_did, get_signing_key + from pyvckit.sign_vc import sign + + key = generate_keys() + did = generate_did(key) + signing_key = get_signing_key(key) + vc = sign(credential, signing_key, did) +``` + +## verificar una credencial firmada: +Suponiendo que **vc** es una credencial verificable correctamente firmada +```python + import json + from pyvckit.verify import verify_vc + + verified = verify_vc(json.dumps(vc)) +``` + +## generar una presentación verificable: +```python + from pyvckit.did import generate_keys, generate_did, get_signing_key + from pyvckit.sign_vp import sign_vp + + holder_key = generate_keys() + holder_did = generate_did(holder_key) + holder_signing_key = get_signing_key(holder_key) + vp = sign_vp(holder_signing_key, holder_did, vc_string) +``` + +## verificat una presentación verificable: +```python + from pyvckit.verify_vp import verify_vp + verified = verify_vp(json.dumps(vp)) +```