A minimal demo to showcase the use-cases Silent Issuance and Silent Verification with the Enterprise Wallet.
To setup, create a Enterprise hierarchy like this:
- waltid (organization)
default dev organization
- waltid.demo (tenant)
Silent Issuance Demo
- waltid.demo.sidBackend1 (api-key)
API Key for the service to use
- waltid.demo.sidRole (role)
Role for permissions to grant to API Key
- waltid.demo.wallets (tenant)
Folder for wallets
- (waltid.demo.wallets.demo1)
<- Wallets can be created with the CLI
- (waltid.demo.wallets.demo2)
<- Wallets can be created with the CLI
- (waltid.demo.wallets.demo3)
<- Wallets can be created with the CLI
- (waltid.demo.wallets.demo1)
- waltid.demo.sidBackend1 (api-key)
- waltid.demo (tenant)
Change the config/silent-issuance.conf
values as required:
issuerHost = "https://issuer.portal.test.waltid.cloud/"
verifierHost = "https://verifier.demo.walt.id/"
enterpriseHost = "http://waltid.enterprise.localhost:3000"
enterpriseApiKey = "ey..." // API Key, stored in waltid.demo.sidBackend1
Run id.walt.demos.sid.Main
to find the following CLI interface:
-- Silent Issuance Demo Microservice started --
- Command line interface: -
Available commands: help, mkwallet, rmwallet, issue, verify, silent-issue, silent-verify
> mkwallet demo1
Creating wallet: demo1
Created wallet, target is: waltid.demo.wallets.demo1.wallet
OK: mkwallet
> issue
Issuing...
Created issuance offer: openid-credential-offer://issuer.portal.test.waltid.cloud/draft13/?credential_offer_uri=https%3A%2F%2Fissuer.portal.test.waltid.cloud%2Fdraft13%2FcredentialOffer%3Fid%3D4c9c6d99-f446-47d4-8db8-4a20406807ad
OK: issue
> verify
Verifying...
Created verification request: openid4vp://authorize?response_type=vp_token&client_id=https%3A%2F%2Fverifier.demo.walt.id%2Fopenid4vc%2Fverify&response_mode=direct_post&state=nt4jVT9kd6Ss&presentation_definition_uri=https%3A%2F%2Fverifier.demo.walt.id%2Fopenid4vc%2Fpd%2Fnt4jVT9kd6Ss&client_id_scheme=redirect_uri&client_metadata=%7B%22authorization_encrypted_response_alg%22%3A%22ECDH-ES%22%2C%22authorization_encrypted_response_enc%22%3A%22A256GCM%22%7D&nonce=38169483-400f-49a7-8a53-dde2b1a85448&response_uri=https%3A%2F%2Fverifier.demo.walt.id%2Fopenid4vc%2Fverify%2Fnt4jVT9kd6Ss
OK: verify
> silent-issue demo1
Running Silent Issuance for wallet: demo1
----------
-- Issuer --
Creating issuance offer...
Created offer: openid-credential-offer://issuer.portal.test.waltid.cloud/draft13/?credential_offer_uri=https%3A%2F%2Fissuer.portal.test.waltid.cloud%2Fdraft13%2FcredentialOffer%3Fid%3D677b55f7-7a4b-448b-890c-c6fd0fad5efe
-- Wallet (silent issuance) --
Wallet received credentials from issuance: [{"issuanceResult":{"offeredCredential":{"format":"jwt_vc_json","credential_definition":{"type":["VerifiableCredential","OpenBadgeCredential"]},"cryptographic_binding_methods_supported":["did"],"customParameters":{}},"credentialResponse":{"format":"jwt_vc_json","credential":"eyJraWQiOiJkaWQ6a2V5Ono2TWtqb1JocTFqU05KZExpcnVTWHJGRnhhZ3FyenRaYVhIcUhHVVRLSmJjTnl3cCN6Nk1ram9SaHExalNOSmRMaXJ1U1hyRkZ4YWdxcnp0WmFYSHFIR1VUS0piY055d3AiLCJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9.eyJpc3MiOiJkaWQ6a2V5Ono2TWtqb1JocTFqU05KZExpcnVTWHJGRnhhZ3FyenRaYVhIcUhHVVRLSmJjTnl3cCIsInN1YiI6ImRpZDprZXk6ejZNa3U2a0o4b1lOaDZlcTFQeXdaczRCVmtHeWVZRjgzdGpGR3JzNXlXUjE1eTFiIiwidmMiOnsiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnL25zL2NyZWRlbnRpYWxzL3YyIiwiaHR0cHM6Ly9wdXJsLmltc2dsb2JhbC5vcmcvc3BlYy9vYi92M3AwL2NvbnRleHQuanNvbiJdLCJpZCI6InVybjp1dWlkOmNlYmExNDBjLWY0NzQtNGQ3Ny05Nzc2LTJkMDAxZmI1ZTNlYSIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJPcGVuQmFkZ2VDcmVkZW50aWFsIl0sImlzc3VlciI6eyJ0eXBlIjpbIlByb2ZpbGUiXSwibmFtZSI6IkpGRiBJc3N1ZXIiLCJ1cmwiOiJodHRwczovL3d3dy5qZmYub3JnLyIsImltYWdlIjoiaHR0cHM6Ly9leGFtcGxlLm9yZy9pbWcucG5nIiwiaWQiOiJkaWQ6a2V5Ono2TWtqb1JocTFqU05KZExpcnVTWHJGRnhhZ3FyenRaYVhIcUhHVVRLSmJjTnl3cCJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJ0eXBlIjpbIkFjaGlldmVtZW50U3ViamVjdCJdLCJhY2hpZXZlbWVudCI6eyJpZCI6InVybjp1dWlkOmFjYWNhY2FjLWFjYWMtYWNhYy1hY2FjLTAwMDAwMDAwMDAwMCIsInR5cGUiOlsiQWNoaWV2ZW1lbnQiXSwibmFtZSI6IlNvbWUgbmFtZSIsImltYWdlIjp7InR5cGUiOiJJbWFnZSIsImlkIjoiaHR0cHM6Ly9leGFtcGxlLm9yZy9pbWFnZS5wbmcifSwiX3NkIjpbInctVjBjblhSWFhERUlhWlFCcGFCWjVRZDhSbjEwa2dXbnJ6M29FdVMxRFUiLCJtaFhGVFZMWUdhdUFuRWlFdWwyNTJIN040cXNVMGRtRWx2MFgyRkh4c0VZIl19LCJpZCI6ImRpZDprZXk6ejZNa3U2a0o4b1lOaDZlcTFQeXdaczRCVmtHeWVZRjgzdGpGR3JzNXlXUjE1eTFiIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjUtMDQtMTBUMTI6MzU6MDIuOTg4NTM1NjU5WiIsImV4cGlyYXRpb25EYXRlIjoiMjAyNi0wNC0xMFQxMjozNTowMi45ODg1NTg4NTlaIiwiX3NkIjpbInUzaVNmV3U1SkpWd0VvU25vZDNEWlZVUGxnOFpmQmIxRmtkT0dPN19SMVUiXX0sImp0aSI6InVybjp1dWlkOmNlYmExNDBjLWY0NzQtNGQ3Ny05Nzc2LTJkMDAxZmI1ZTNlYSIsImV4cCI6MTc3NTgyNDUwMiwiaWF0IjoxNzQ0Mjg4NTAyLCJuYmYiOjE3NDQyODg1MDJ9.0glEgWiZgsRBsDJ_adjNBlKwSo1UQ0CYnJRB-2ROMFFm1zRVeQn_ACdoiHYjfC6OCyeLfjtprlYWs3eyn00EAQ~WyJsYXR4WlNqOHltcmdBWWhkNGtfYmVRPT0iLCJuYW1lIiwiVEhFIE5BTUUgLSBUaGlzIG5hbWUgd2lsbCBiZSBoaWRlZW4iXQ~WyJjei1QbnBEX0RUMHg1MFN5TEh0Q253PT0iLCJkZXNjcmlwdGlvbiIsIk1ZIERFU0NSSVBUSU9OIC0gVGhpcyBJIHdpbGwgc2hhcmUgYXMgYSBzZWxlY3RpdmUgZGlzY2xvc3VyZSJd~WyIzTmprVVhoakQ4SHBOamxBTzZkYnhBPT0iLCJjcml0ZXJpYSIseyJ0eXBlIjoiQ3JpdGVyaWEiLCJuYXJyYXRpdmUiOiJJIGRvIG5vdCB3YW50IHRvIHNoYXJlIHRoaXMgZ2VuZXJhbGx5In1d","customParameters":{}}},"stored":[{"_id":"waltid.demo.wallets.demo1.credentialstore.487ae91b-5546-453e-bf12-778d45dfd3be","credential":{"type":"vc-w3c_2","disclosables":{"$.credentialSubject.achievement._sd":["w-V0cnXRXXDEIaZQBpaBZ5Qd8Rn10kgWnrz3oEuS1DU","mhXFTVLYGauAnEiEul252H7N4qsU0dmElv0X2FHxsEY"],"$._sd":["u3iSfWu5JJVwEoSnod3DZVUPlg8ZfBb1FkdOGO7_R1U"]},"disclosures":[{"salt":"cz-PnpD_DT0x50SyLHtCnw==","name":"description","value":"MY DESCRIPTION - This I will share as a selective disclosure","location":"$.credentialSubject.achievement.description","encoded":"WyJjei1QbnBEX0RUMHg1MFN5TEh0Q253PT0iLCJkZXNjcmlwdGlvbiIsIk1ZIERFU0NSSVBUSU9OIC0gVGhpcyBJIHdpbGwgc2hhcmUgYXMgYSBzZWxlY3RpdmUgZGlzY2xvc3VyZSJd"},{"salt":"3NjkUXhjD8HpNjlAO6dbxA==","name":"criteria","value":{"type":"Criteria","narrative":"I do not want to share this generally"},"location":"$.credentialSubject.achievement.criteria","encoded":"WyIzTmprVVhoakQ4SHBOamxBTzZkYnhBPT0iLCJjcml0ZXJpYSIseyJ0eXBlIjoiQ3JpdGVyaWEiLCJuYXJyYXRpdmUiOiJJIGRvIG5vdCB3YW50IHRvIHNoYXJlIHRoaXMgZ2VuZXJhbGx5In1d"},{"salt":"latxZSj8ymrgAYhd4k_beQ==","name":"name","value":"THE NAME - This name will be hideen","location":"$.name","encoded":"WyJsYXR4WlNqOHltcmdBWWhkNGtfYmVRPT0iLCJuYW1lIiwiVEhFIE5BTUUgLSBUaGlzIG5hbWUgd2lsbCBiZSBoaWRlZW4iXQ"}],"signature":{"type":"signature-sd_jwt"},"signed":"eyJraWQiOiJkaWQ6a2V5Ono2TWtqb1JocTFqU05KZExpcnVTWHJGRnhhZ3FyenRaYVhIcUhHVVRLSmJjTnl3cCN6Nk1ram9SaHExalNOSmRMaXJ1U1hyRkZ4YWdxcnp0WmFYSHFIR1VUS0piY055d3AiLCJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9.eyJpc3MiOiJkaWQ6a2V5Ono2TWtqb1JocTFqU05KZExpcnVTWHJGRnhhZ3FyenRaYVhIcUhHVVRLSmJjTnl3cCIsInN1YiI6ImRpZDprZXk6ejZNa3U2a0o4b1lOaDZlcTFQeXdaczRCVmtHeWVZRjgzdGpGR3JzNXlXUjE1eTFiIiwidmMiOnsiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnL25zL2NyZWRlbnRpYWxzL3YyIiwiaHR0cHM6Ly9wdXJsLmltc2dsb2JhbC5vcmcvc3BlYy9vYi92M3AwL2NvbnRleHQuanNvbiJdLCJpZCI6InVybjp1dWlkOmNlYmExNDBjLWY0NzQtNGQ3Ny05Nzc2LTJkMDAxZmI1ZTNlYSIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJPcGVuQmFkZ2VDcmVkZW50aWFsIl0sImlzc3VlciI6eyJ0eXBlIjpbIlByb2ZpbGUiXSwibmFtZSI6IkpGRiBJc3N1ZXIiLCJ1cmwiOiJodHRwczovL3d3dy5qZmYub3JnLyIsImltYWdlIjoiaHR0cHM6Ly9leGFtcGxlLm9yZy9pbWcucG5nIiwiaWQiOiJkaWQ6a2V5Ono2TWtqb1JocTFqU05KZExpcnVTWHJGRnhhZ3FyenRaYVhIcUhHVVRLSmJjTnl3cCJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJ0eXBlIjpbIkFjaGlldmVtZW50U3ViamVjdCJdLCJhY2hpZXZlbWVudCI6eyJpZCI6InVybjp1dWlkOmFjYWNhY2FjLWFjYWMtYWNhYy1hY2FjLTAwMDAwMDAwMDAwMCIsInR5cGUiOlsiQWNoaWV2ZW1lbnQiXSwibmFtZSI6IlNvbWUgbmFtZSIsImltYWdlIjp7InR5cGUiOiJJbWFnZSIsImlkIjoiaHR0cHM6Ly9leGFtcGxlLm9yZy9pbWFnZS5wbmcifSwiX3NkIjpbInctVjBjblhSWFhERUlhWlFCcGFCWjVRZDhSbjEwa2dXbnJ6M29FdVMxRFUiLCJtaFhGVFZMWUdhdUFuRWlFdWwyNTJIN040cXNVMGRtRWx2MFgyRkh4c0VZIl19LCJpZCI6ImRpZDprZXk6ejZNa3U2a0o4b1lOaDZlcTFQeXdaczRCVmtHeWVZRjgzdGpGR3JzNXlXUjE1eTFiIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjUtMDQtMTBUMTI6MzU6MDIuOTg4NTM1NjU5WiIsImV4cGlyYXRpb25EYXRlIjoiMjAyNi0wNC0xMFQxMjozNTowMi45ODg1NTg4NTlaIiwiX3NkIjpbInUzaVNmV3U1SkpWd0VvU25vZDNEWlZVUGxnOFpmQmIxRmtkT0dPN19SMVUiXX0sImp0aSI6InVybjp1dWlkOmNlYmExNDBjLWY0NzQtNGQ3Ny05Nzc2LTJkMDAxZmI1ZTNlYSIsImV4cCI6MTc3NTgyNDUwMiwiaWF0IjoxNzQ0Mjg4NTAyLCJuYmYiOjE3NDQyODg1MDJ9.0glEgWiZgsRBsDJ_adjNBlKwSo1UQ0CYnJRB-2ROMFFm1zRVeQn_ACdoiHYjfC6OCyeLfjtprlYWs3eyn00EAQ","signedWithDisclosures":"eyJraWQiOiJkaWQ6a2V5Ono2TWtqb1JocTFqU05KZExpcnVTWHJGRnhhZ3FyenRaYVhIcUhHVVRLSmJjTnl3cCN6Nk1ram9SaHExalNOSmRMaXJ1U1hyRkZ4YWdxcnp0WmFYSHFIR1VUS0piY055d3AiLCJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9.eyJpc3MiOiJkaWQ6a2V5Ono2TWtqb1JocTFqU05KZExpcnVTWHJGRnhhZ3FyenRaYVhIcUhHVVRLSmJjTnl3cCIsInN1YiI6ImRpZDprZXk6ejZNa3U2a0o4b1lOaDZlcTFQeXdaczRCVmtHeWVZRjgzdGpGR3JzNXlXUjE1eTFiIiwidmMiOnsiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnL25zL2NyZWRlbnRpYWxzL3YyIiwiaHR0cHM6Ly9wdXJsLmltc2dsb2JhbC5vcmcvc3BlYy9vYi92M3AwL2NvbnRleHQuanNvbiJdLCJpZCI6InVybjp1dWlkOmNlYmExNDBjLWY0NzQtNGQ3Ny05Nzc2LTJkMDAxZmI1ZTNlYSIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJPcGVuQmFkZ2VDcmVkZW50aWFsIl0sImlzc3VlciI6eyJ0eXBlIjpbIlByb2ZpbGUiXSwibmFtZSI6IkpGRiBJc3N1ZXIiLCJ1cmwiOiJodHRwczovL3d3dy5qZmYub3JnLyIsImltYWdlIjoiaHR0cHM6Ly9leGFtcGxlLm9yZy9pbWcucG5nIiwiaWQiOiJkaWQ6a2V5Ono2TWtqb1JocTFqU05KZExpcnVTWHJGRnhhZ3FyenRaYVhIcUhHVVRLSmJjTnl3cCJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJ0eXBlIjpbIkFjaGlldmVtZW50U3ViamVjdCJdLCJhY2hpZXZlbWVudCI6eyJpZCI6InVybjp1dWlkOmFjYWNhY2FjLWFjYWMtYWNhYy1hY2FjLTAwMDAwMDAwMDAwMCIsInR5cGUiOlsiQWNoaWV2ZW1lbnQiXSwibmFtZSI6IlNvbWUgbmFtZSIsImltYWdlIjp7InR5cGUiOiJJbWFnZSIsImlkIjoiaHR0cHM6Ly9leGFtcGxlLm9yZy9pbWFnZS5wbmcifSwiX3NkIjpbInctVjBjblhSWFhERUlhWlFCcGFCWjVRZDhSbjEwa2dXbnJ6M29FdVMxRFUiLCJtaFhGVFZMWUdhdUFuRWlFdWwyNTJIN040cXNVMGRtRWx2MFgyRkh4c0VZIl19LCJpZCI6ImRpZDprZXk6ejZNa3U2a0o4b1lOaDZlcTFQeXdaczRCVmtHeWVZRjgzdGpGR3JzNXlXUjE1eTFiIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjUtMDQtMTBUMTI6MzU6MDIuOTg4NTM1NjU5WiIsImV4cGlyYXRpb25EYXRlIjoiMjAyNi0wNC0xMFQxMjozNTowMi45ODg1NTg4NTlaIiwiX3NkIjpbInUzaVNmV3U1SkpWd0VvU25vZDNEWlZVUGxnOFpmQmIxRmtkT0dPN19SMVUiXX0sImp0aSI6InVybjp1dWlkOmNlYmExNDBjLWY0NzQtNGQ3Ny05Nzc2LTJkMDAxZmI1ZTNlYSIsImV4cCI6MTc3NTgyNDUwMiwiaWF0IjoxNzQ0Mjg4NTAyLCJuYmYiOjE3NDQyODg1MDJ9.0glEgWiZgsRBsDJ_adjNBlKwSo1UQ0CYnJRB-2ROMFFm1zRVeQn_ACdoiHYjfC6OCyeLfjtprlYWs3eyn00EAQ~WyJsYXR4WlNqOHltcmdBWWhkNGtfYmVRPT0iLCJuYW1lIiwiVEhFIE5BTUUgLSBUaGlzIG5hbWUgd2lsbCBiZSBoaWRlZW4iXQ~WyJjei1QbnBEX0RUMHg1MFN5TEh0Q253PT0iLCJkZXNjcmlwdGlvbiIsIk1ZIERFU0NSSVBUSU9OIC0gVGhpcyBJIHdpbGwgc2hhcmUgYXMgYSBzZWxlY3RpdmUgZGlzY2xvc3VyZSJd~WyIzTmprVVhoakQ4SHBOamxBTzZkYnhBPT0iLCJjcml0ZXJpYSIseyJ0eXBlIjoiQ3JpdGVyaWEiLCJuYXJyYXRpdmUiOiJJIGRvIG5vdCB3YW50IHRvIHNoYXJlIHRoaXMgZ2VuZXJhbGx5In1d","credentialData":{"iss":"did:key:z6MkjoRhq1jSNJdLiruSXrFFxagqrztZaXHqHGUTKJbcNywp","sub":"did:key:z6Mku6kJ8oYNh6eq1PywZs4BVkGyeYF83tjFGrs5yWR15y1b","vc":{"@context":["https://www.w3.org/ns/credentials/v2","https://purl.imsglobal.org/spec/ob/v3p0/context.json"],"id":"urn:uuid:ceba140c-f474-4d77-9776-2d001fb5e3ea","type":["VerifiableCredential","OpenBadgeCredential"],"issuer":{"type":["Profile"],"name":"JFF Issuer","url":"https://www.jff.org/","image":"https://example.org/img.png","id":"did:key:z6MkjoRhq1jSNJdLiruSXrFFxagqrztZaXHqHGUTKJbcNywp"},"credentialSubject":{"type":["AchievementSubject"],"achievement":{"id":"urn:uuid:acacacac-acac-acac-acac-000000000000","type":["Achievement"],"name":"Some name","image":{"type":"Image","id":"https://example.org/image.png"},"description":"MY DESCRIPTION - This I will share as a selective disclosure","criteria":{"type":"Criteria","narrative":"I do not want to share this generally"}},"id":"did:key:z6Mku6kJ8oYNh6eq1PywZs4BVkGyeYF83tjFGrs5yWR15y1b"},"issuanceDate":"2025-04-10T12:35:02.988535659Z","expirationDate":"2026-04-10T12:35:02.988558859Z","name":"THE NAME - This name will be hideen"},"jti":"urn:uuid:ceba140c-f474-4d77-9776-2d001fb5e3ea","exp":1775824502,"iat":1744288502,"nbf":1744288502},"originalCredentialData":{"@context":["https://www.w3.org/ns/credentials/v2","https://purl.imsglobal.org/spec/ob/v3p0/context.json"],"id":"urn:uuid:ceba140c-f474-4d77-9776-2d001fb5e3ea","type":["VerifiableCredential","OpenBadgeCredential"],"issuer":{"type":["Profile"],"name":"JFF Issuer","url":"https://www.jff.org/","image":"https://example.org/img.png","id":"did:key:z6MkjoRhq1jSNJdLiruSXrFFxagqrztZaXHqHGUTKJbcNywp"},"credentialSubject":{"type":["AchievementSubject"],"achievement":{"id":"urn:uuid:acacacac-acac-acac-acac-000000000000","type":["Achievement"],"name":"Some name","image":{"type":"Image","id":"https://example.org/image.png"},"_sd":["w-V0cnXRXXDEIaZQBpaBZ5Qd8Rn10kgWnrz3oEuS1DU","mhXFTVLYGauAnEiEul252H7N4qsU0dmElv0X2FHxsEY"]},"id":"did:key:z6Mku6kJ8oYNh6eq1PywZs4BVkGyeYF83tjFGrs5yWR15y1b"},"issuanceDate":"2025-04-10T12:35:02.988535659Z","expirationDate":"2026-04-10T12:35:02.988558859Z","_sd":["u3iSfWu5JJVwEoSnod3DZVUPlg8ZfBb1FkdOGO7_R1U"]}},"parent":"waltid.demo.wallets.demo1.credentialstore"}]}]
OK: silent-issue
> help
Available commands: help, mkwallet, rmwallet, issue, verify, silent-issue, silent-verify
OK: help
> silent-verify demo1
Running Silent Verification for wallet: demo1
----------
-- Verifier --
Creating verification request...
Created request: openid4vp://authorize?response_type=vp_token&client_id=https%3A%2F%2Fverifier.demo.walt.id%2Fopenid4vc%2Fverify&response_mode=direct_post&state=iftbNlGQbmOU&presentation_definition_uri=https%3A%2F%2Fverifier.demo.walt.id%2Fopenid4vc%2Fpd%2FiftbNlGQbmOU&client_id_scheme=redirect_uri&client_metadata=%7B%22authorization_encrypted_response_alg%22%3A%22ECDH-ES%22%2C%22authorization_encrypted_response_enc%22%3A%22A256GCM%22%7D&nonce=0a49cf21-295a-4775-9c31-108cded0ec4d&response_uri=https%3A%2F%2Fverifier.demo.walt.id%2Fopenid4vc%2Fverify%2FiftbNlGQbmOU
-- Wallet (silent verification) --
Passing this request to wallet...
Wallet presented credentials for request. Response: HttpResponse[http://waltid.enterprise.localhost:3000/v1/waltid.demo.wallets.demo1.wallet/wallet-service-api/credentials/present, 200 OK]
-- Verifier --
Verifier reported verification result: {"id":"iftbNlGQbmOU","presentationDefinition":{"id":"icnRlAiPr7PT","input_descriptors":[{"id":"OpenBadgeCredential","format":{"jwt_vc_json":{"alg":["EdDSA"]}},"constraints":{"fields":[{"path":["$.vc.type"],"filter":{"type":"string","pattern":"OpenBadgeCredential"}},{"path":["$.vc.credentialSubject.achievement.description"],"filter":{"type":"string","pattern":"^MY DESCRIPTION"}}]}}],"customParameters":{}},"tokenResponse":{"vp_token":"eyJraWQiOiJkaWQ6a2V5Ono2TWt1NmtKOG9ZTmg2ZXExUHl3WnM0QlZrR3llWUY4M3RqRkdyczV5V1IxNXkxYiN6Nk1rdTZrSjhvWU5oNmVxMVB5d1pzNEJWa0d5ZVlGODN0akZHcnM1eVdSMTV5MWIiLCJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9.eyJzdWIiOiJkaWQ6a2V5Ono2TWt1NmtKOG9ZTmg2ZXExUHl3WnM0QlZrR3llWUY4M3RqRkdyczV5V1IxNXkxYiIsIm5iZiI6MTc0NDI4OTMzMiwiaWF0IjoxNzQ0Mjg5MzkyLCJqdGkiOiJ1cm46dXVpZDo1ZWQ0YmM2Ni0zMzZkLTRiMmItYjEyNy1lMzcwYjkwYWU3NDciLCJpc3MiOiJkaWQ6a2V5Ono2TWt1NmtKOG9ZTmg2ZXExUHl3WnM0QlZrR3llWUY4M3RqRkdyczV5V1IxNXkxYiIsIm5vbmNlIjoiMGE0OWNmMjEtMjk1YS00Nzc1LTljMzEtMTA4Y2RlZDBlYzRkIiwiYXVkIjoiIiwidnAiOnsiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwidHlwZSI6WyJWZXJpZmlhYmxlUHJlc2VudGF0aW9uIl0sImlkIjoidXJuOnV1aWQ6NWVkNGJjNjYtMzM2ZC00YjJiLWIxMjctZTM3MGI5MGFlNzQ3IiwiaG9sZGVyIjoiZGlkOmtleTp6Nk1rdTZrSjhvWU5oNmVxMVB5d1pzNEJWa0d5ZVlGODN0akZHcnM1eVdSMTV5MWIiLCJjbmYiOm51bGwsInZlcmlmaWFibGVDcmVkZW50aWFsIjpbImV5SnJhV1FpT2lKa2FXUTZhMlY1T25vMlRXdHFiMUpvY1RGcVUwNUtaRXhwY25WVFdISkdSbmhoWjNGeWVuUmFZVmhJY1VoSFZWUkxTbUpqVG5sM2NDTjZOazFyYW05U2FIRXhhbE5PU21STWFYSjFVMWh5UmtaNFlXZHhjbnAwV21GWVNIRklSMVZVUzBwaVkwNTVkM0FpTENKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKRlpFUlRRU0o5LmV5SnBjM01pT2lKa2FXUTZhMlY1T25vMlRXdHFiMUpvY1RGcVUwNUtaRXhwY25WVFdISkdSbmhoWjNGeWVuUmFZVmhJY1VoSFZWUkxTbUpqVG5sM2NDSXNJbk4xWWlJNkltUnBaRHByWlhrNmVqWk5hM1UyYTBvNGIxbE9hRFpsY1RGUWVYZGFjelJDVm10SGVXVlpSamd6ZEdwR1IzSnpOWGxYVWpFMWVURmlJaXdpZG1NaU9uc2lRR052Ym5SbGVIUWlPbHNpYUhSMGNITTZMeTkzZDNjdWR6TXViM0puTDI1ekwyTnlaV1JsYm5ScFlXeHpMM1l5SWl3aWFIUjBjSE02THk5d2RYSnNMbWx0YzJkc2IySmhiQzV2Y21jdmMzQmxZeTl2WWk5Mk0zQXdMMk52Ym5SbGVIUXVhbk52YmlKZExDSnBaQ0k2SW5WeWJqcDFkV2xrT21ObFltRXhOREJqTFdZME56UXROR1EzTnkwNU56YzJMVEprTURBeFptSTFaVE5sWVNJc0luUjVjR1VpT2xzaVZtVnlhV1pwWVdKc1pVTnlaV1JsYm5ScFlXd2lMQ0pQY0dWdVFtRmtaMlZEY21Wa1pXNTBhV0ZzSWwwc0ltbHpjM1ZsY2lJNmV5SjBlWEJsSWpwYklsQnliMlpwYkdVaVhTd2libUZ0WlNJNklrcEdSaUJKYzNOMVpYSWlMQ0oxY213aU9pSm9kSFJ3Y3pvdkwzZDNkeTVxWm1ZdWIzSm5MeUlzSW1sdFlXZGxJam9pYUhSMGNITTZMeTlsZUdGdGNHeGxMbTl5Wnk5cGJXY3VjRzVuSWl3aWFXUWlPaUprYVdRNmEyVjVPbm8yVFd0cWIxSm9jVEZxVTA1S1pFeHBjblZUV0hKR1JuaGhaM0Z5ZW5SYVlWaEljVWhIVlZSTFNtSmpUbmwzY0NKOUxDSmpjbVZrWlc1MGFXRnNVM1ZpYW1WamRDSTZleUowZVhCbElqcGJJa0ZqYUdsbGRtVnRaVzUwVTNWaWFtVmpkQ0pkTENKaFkyaHBaWFpsYldWdWRDSTZleUpwWkNJNkluVnlianAxZFdsa09tRmpZV05oWTJGakxXRmpZV010WVdOaFl5MWhZMkZqTFRBd01EQXdNREF3TURBd01DSXNJblI1Y0dVaU9sc2lRV05vYVdWMlpXMWxiblFpWFN3aWJtRnRaU0k2SWxOdmJXVWdibUZ0WlNJc0ltbHRZV2RsSWpwN0luUjVjR1VpT2lKSmJXRm5aU0lzSW1sa0lqb2lhSFIwY0hNNkx5OWxlR0Z0Y0d4bExtOXlaeTlwYldGblpTNXdibWNpZlN3aVgzTmtJanBiSW5jdFZqQmpibGhTV0ZoRVJVbGhXbEZDY0dGQ1dqVlJaRGhTYmpFd2EyZFhibko2TTI5RmRWTXhSRlVpTENKdGFGaEdWRlpNV1VkaGRVRnVSV2xGZFd3eU5USklOMDQwY1hOVk1HUnRSV3gyTUZneVJraDRjMFZaSWwxOUxDSnBaQ0k2SW1ScFpEcHJaWGs2ZWpaTmEzVTJhMG80YjFsT2FEWmxjVEZRZVhkYWN6UkNWbXRIZVdWWlJqZ3pkR3BHUjNKek5YbFhVakUxZVRGaUluMHNJbWx6YzNWaGJtTmxSR0YwWlNJNklqSXdNalV0TURRdE1UQlVNVEk2TXpVNk1ESXVPVGc0TlRNMU5qVTVXaUlzSW1WNGNHbHlZWFJwYjI1RVlYUmxJam9pTWpBeU5pMHdOQzB4TUZReE1qb3pOVG93TWk0NU9EZzFOVGc0TlRsYUlpd2lYM05rSWpwYkluVXphVk5tVjNVMVNrcFdkMFZ2VTI1dlpETkVXbFpWVUd4bk9GcG1RbUl4Um10a1QwZFBOMTlTTVZVaVhYMHNJbXAwYVNJNkluVnlianAxZFdsa09tTmxZbUV4TkRCakxXWTBOelF0TkdRM055MDVOemMyTFRKa01EQXhabUkxWlRObFlTSXNJbVY0Y0NJNk1UYzNOVGd5TkRVd01pd2lhV0YwSWpveE56UTBNamc0TlRBeUxDSnVZbVlpT2pFM05EUXlPRGcxTURKOS4wZ2xFZ1dpWmdzUkJzREpfYWRqTkJsS3dTbzFVUTBDWW5KUkItMlJPTUZGbTF6UlZlUW5fQUNkb2lIWWpmQzZPQ3llTGZqdHBybFlXczNleW4wMEVBUX5XeUpqZWkxUWJuQkVYMFJVTUhnMU1GTjVURWgwUTI1M1BUMGlMQ0prWlhOamNtbHdkR2x2YmlJc0lrMVpJRVJGVTBOU1NWQlVTVTlPSUMwZ1ZHaHBjeUJKSUhkcGJHd2djMmhoY21VZ1lYTWdZU0J6Wld4bFkzUnBkbVVnWkdselkyeHZjM1Z5WlNKZCJdfX0.GVcMwXRbQ0IjkO7y50kC2KzipheI_gGGcG1VHJSevxb14PxdcCS4TiDfcY_J63gGwwO3Ji5q0nUQLLlNjihRAA","presentation_submission":{"id":"icnRlAiPr7PT","definition_id":"icnRlAiPr7PT","descriptor_map":[{"format":"jwt_vp","path":"$","path_nested":{"format":"vc+sd-jwt","path":"$.verifiableCredential[0]","customParameters":{}}}]},"customParameters":{}},"verificationResult":true,"policyResults":{"results":[{"credential":"VerifiablePresentation","policyResults":[{"policy":"signature","description":"Checks a JWT credential by verifying its cryptographic signature using the key referenced by the DID in `iss`.","is_success":true,"result":{"sub":"did:key:z6Mku6kJ8oYNh6eq1PywZs4BVkGyeYF83tjFGrs5yWR15y1b","nbf":1744289332,"iat":1744289392,"jti":"urn:uuid:5ed4bc66-336d-4b2b-b127-e370b90ae747","iss":"did:key:z6Mku6kJ8oYNh6eq1PywZs4BVkGyeYF83tjFGrs5yWR15y1b","nonce":"0a49cf21-295a-4775-9c31-108cded0ec4d","aud":"","vp":{"@context":["https://www.w3.org/2018/credentials/v1"],"type":["VerifiablePresentation"],"id":"urn:uuid:5ed4bc66-336d-4b2b-b127-e370b90ae747","holder":"did:key:z6Mku6kJ8oYNh6eq1PywZs4BVkGyeYF83tjFGrs5yWR15y1b","cnf":null,"verifiableCredential":["eyJraWQiOiJkaWQ6a2V5Ono2TWtqb1JocTFqU05KZExpcnVTWHJGRnhhZ3FyenRaYVhIcUhHVVRLSmJjTnl3cCN6Nk1ram9SaHExalNOSmRMaXJ1U1hyRkZ4YWdxcnp0WmFYSHFIR1VUS0piY055d3AiLCJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9.eyJpc3MiOiJkaWQ6a2V5Ono2TWtqb1JocTFqU05KZExpcnVTWHJGRnhhZ3FyenRaYVhIcUhHVVRLSmJjTnl3cCIsInN1YiI6ImRpZDprZXk6ejZNa3U2a0o4b1lOaDZlcTFQeXdaczRCVmtHeWVZRjgzdGpGR3JzNXlXUjE1eTFiIiwidmMiOnsiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnL25zL2NyZWRlbnRpYWxzL3YyIiwiaHR0cHM6Ly9wdXJsLmltc2dsb2JhbC5vcmcvc3BlYy9vYi92M3AwL2NvbnRleHQuanNvbiJdLCJpZCI6InVybjp1dWlkOmNlYmExNDBjLWY0NzQtNGQ3Ny05Nzc2LTJkMDAxZmI1ZTNlYSIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJPcGVuQmFkZ2VDcmVkZW50aWFsIl0sImlzc3VlciI6eyJ0eXBlIjpbIlByb2ZpbGUiXSwibmFtZSI6IkpGRiBJc3N1ZXIiLCJ1cmwiOiJodHRwczovL3d3dy5qZmYub3JnLyIsImltYWdlIjoiaHR0cHM6Ly9leGFtcGxlLm9yZy9pbWcucG5nIiwiaWQiOiJkaWQ6a2V5Ono2TWtqb1JocTFqU05KZExpcnVTWHJGRnhhZ3FyenRaYVhIcUhHVVRLSmJjTnl3cCJ9LCJjcmVkZW50aWFsU3ViamVjdCI6eyJ0eXBlIjpbIkFjaGlldmVtZW50U3ViamVjdCJdLCJhY2hpZXZlbWVudCI6eyJpZCI6InVybjp1dWlkOmFjYWNhY2FjLWFjYWMtYWNhYy1hY2FjLTAwMDAwMDAwMDAwMCIsInR5cGUiOlsiQWNoaWV2ZW1lbnQiXSwibmFtZSI6IlNvbWUgbmFtZSIsImltYWdlIjp7InR5cGUiOiJJbWFnZSIsImlkIjoiaHR0cHM6Ly9leGFtcGxlLm9yZy9pbWFnZS5wbmcifSwiX3NkIjpbInctVjBjblhSWFhERUlhWlFCcGFCWjVRZDhSbjEwa2dXbnJ6M29FdVMxRFUiLCJtaFhGVFZMWUdhdUFuRWlFdWwyNTJIN040cXNVMGRtRWx2MFgyRkh4c0VZIl19LCJpZCI6ImRpZDprZXk6ejZNa3U2a0o4b1lOaDZlcTFQeXdaczRCVmtHeWVZRjgzdGpGR3JzNXlXUjE1eTFiIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjUtMDQtMTBUMTI6MzU6MDIuOTg4NTM1NjU5WiIsImV4cGlyYXRpb25EYXRlIjoiMjAyNi0wNC0xMFQxMjozNTowMi45ODg1NTg4NTlaIiwiX3NkIjpbInUzaVNmV3U1SkpWd0VvU25vZDNEWlZVUGxnOFpmQmIxRmtkT0dPN19SMVUiXX0sImp0aSI6InVybjp1dWlkOmNlYmExNDBjLWY0NzQtNGQ3Ny05Nzc2LTJkMDAxZmI1ZTNlYSIsImV4cCI6MTc3NTgyNDUwMiwiaWF0IjoxNzQ0Mjg4NTAyLCJuYmYiOjE3NDQyODg1MDJ9.0glEgWiZgsRBsDJ_adjNBlKwSo1UQ0CYnJRB-2ROMFFm1zRVeQn_ACdoiHYjfC6OCyeLfjtprlYWs3eyn00EAQ~WyJjei1QbnBEX0RUMHg1MFN5TEh0Q253PT0iLCJkZXNjcmlwdGlvbiIsIk1ZIERFU0NSSVBUSU9OIC0gVGhpcyBJIHdpbGwgc2hhcmUgYXMgYSBzZWxlY3RpdmUgZGlzY2xvc3VyZSJd"]}}},{"policy":"expired","description":"Verifies that the credentials expiration date (`exp` for JWTs) has not been exceeded.","is_success":true,"result":{"policy_available":false}},{"policy":"not-before","description":"Verifies that the credentials not-before date (for JWT: `nbf`, if unavailable: `iat` - 1 min) is correctly exceeded.","is_success":true,"result":{"date":"2025-04-10T12:48:52Z","date_seconds":1744289332,"available_since":"1m 1.052396836s","available_since_seconds":61,"used_key":"nbf","policy_available":true}},{"policy":"presentation-definition","description":"Verifies that with an Verifiable Presentation at minimum the list of credentials `request_credentials` has been presented.","is_success":true,"result":["OpenBadgeCredential"]}]},{"credential":"OpenBadgeCredential","policyResults":[{"policy":"expired","description":"Verifies that the credentials expiration date (`exp` for JWTs) has not been exceeded.","is_success":true,"result":{"date":"2026-04-10T12:35:02.988558859Z","date_seconds":1775824502,"expires_in":"364d 23h 45m 9.916984335s","expires_in_seconds":31535109,"used_key":"expirationDate","policy_available":true}},{"policy":"not-before","description":"Verifies that the credentials not-before date (for JWT: `nbf`, if unavailable: `iat` - 1 min) is correctly exceeded.","is_success":true,"result":{"date":"2025-04-10T12:35:02.988535659Z","date_seconds":1744288502,"available_since":"14m 50.090087934s","available_since_seconds":890,"used_key":"issuanceDate","policy_available":true}},{"policy":"signature","description":"Checks a JWT credential by verifying its cryptographic signature using the key referenced by the DID in `iss`.","is_success":true,"result":{"iss":"did:key:z6MkjoRhq1jSNJdLiruSXrFFxagqrztZaXHqHGUTKJbcNywp","sub":"did:key:z6Mku6kJ8oYNh6eq1PywZs4BVkGyeYF83tjFGrs5yWR15y1b","vc":{"@context":["https://www.w3.org/ns/credentials/v2","https://purl.imsglobal.org/spec/ob/v3p0/context.json"],"id":"urn:uuid:ceba140c-f474-4d77-9776-2d001fb5e3ea","type":["VerifiableCredential","OpenBadgeCredential"],"issuer":{"type":["Profile"],"name":"JFF Issuer","url":"https://www.jff.org/","image":"https://example.org/img.png","id":"did:key:z6MkjoRhq1jSNJdLiruSXrFFxagqrztZaXHqHGUTKJbcNywp"},"credentialSubject":{"type":["AchievementSubject"],"achievement":{"id":"urn:uuid:acacacac-acac-acac-acac-000000000000","type":["Achievement"],"name":"Some name","image":{"type":"Image","id":"https://example.org/image.png"},"description":"MY DESCRIPTION - This I will share as a selective disclosure"},"id":"did:key:z6Mku6kJ8oYNh6eq1PywZs4BVkGyeYF83tjFGrs5yWR15y1b"},"issuanceDate":"2025-04-10T12:35:02.988535659Z","expirationDate":"2026-04-10T12:35:02.988558859Z"},"jti":"urn:uuid:ceba140c-f474-4d77-9776-2d001fb5e3ea","exp":1775824502,"iat":1744288502,"nbf":1744288502}}]}],"time":"PT0.031667210S","policiesRun":7},"customParameters":{}}
OK: silent-verify
>