Enroll Natural Person
General
Natural Persons with signatory rights are referenced in the Enterprise Credential and should register with Bundesanzeiger.
When requesting the Enterprise Credential from Bundesanzeiger for every reference to a Natural Person, that was registered at the Bundesanzeiger, the DID of the Natural Person is used. If a Natural Person referenced by an Enterprise Credential is not yet registered at the time the credential is issued, a unique identifier (urn:uuid:5042da0d-3675-4739-8c60-1c58390540a0) is used for the reference instead of a DID.
Prerequisite
- User is signed in to the Enterprise Wallet
- Natural Person has a Personal Wallet including a PID
Workflow
The flow is represented by a basic credential issuance flow.
Steps
The following example assumes, that the involved parties owning the following DIDs:
- BAnz DID:
did:key:zDnaexEHa3xyCcG1pNCj65VPcbrYrrxVfxMW2qCsDN3XzqzxP - Enterprise CEO DID:
did:key:zDnaeVXmpeF4fafnTY44Fba4yCUMgxhPf85XEoajZbsBxPnEC - User (CEO) DID:
did:key:zDnaekLYr1tsGStqxwz38rzmgnhupHm2u1BTWmw5iNipttFzQ
SSI agents exchange messages using the DIDComm protocol. While DIDComm allows messages to be exchanged using public DIDs, it is recommended that privacy-preserving peer DIDs be generated for each communication channel between agents. Peer DIDs are exchanged on connection establishment and are independent of the public DIDs. The use of peer DIDs prevents third party observers of communication channels from associating the parties involved.
- BAnz agent peer DID:
did:peer:2.VzDnaeVQ53PrRWHhijjTCwRhez7927X92evThvdnHYQVz6mt4i.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZVZRNTNQclJXSGhpampUQ3dSaGV6NzkyN1g5MmV2VGh2ZG5IWVFWejZtdDRpI2tleS0xIl19fQ - Enterprise wallet peer DID:
did:peer:2.VzDnaeXJT2DCDJyzRPXGErHYevjvZw85UT8GKnVxVBieH2mSmi.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZVhKVDJEQ0RKeXpSUFhHRXJIWWV2anZadzg1VVQ4R0tuVnhWQmllSDJtU21pI2tleS0xIl19fQ - Personal wallet peer DID:
did:peer:2.VzDnaejq9cgkiB6vJV835Lfto6XKLcRugx6h5oWukwAfvBYgDB.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZWpxOWNna2lCNnZKVjgzNUxmdG82WEtMY1J1Z3g2aDVvV3Vrd0FmdkJZZ0RCI2tleS0xIl19fQ
-
The user requests Bundesanzeiger enrollment using the Enterprise Wallet
-
The Enterprise Wallet sends a credential request for a Natural Person Credential to the Bundesanzeiger. The DID of the Bundesanzeiger and the credential manifest are pre-configured in the Enterprise Wallet. The request establishes a new DID-Comm connection between the Bundesanzeiger and the Enterprise Wallet.
{
"type": "https://didcomm.org/issue-credential/3.0/request-credential",
"id": "c6686159-ef49-45b2-938f-51818da14723",
"pthid": "6346b86f-c216-42f1-a0dc-ff733de2708d",
"from": "did:peer:2.VzDnaeXJT2DCDJyzRPXGErHYevjvZw85UT8GKnVxVBieH2mSmi.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZVhKVDJEQ0RKeXpSUFhHRXJIWWV2anZadzg1VVQ4R0tuVnhWQmllSDJtU21pI2tleS0xIl19fQ",
"to": "did:peer:2.VzDnaeVQ53PrRWHhijjTCwRhez7927X92evThvdnHYQVz6mt4i.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZVZRNTNQclJXSGhpampUQ3dSaGV6NzkyN1g5MmV2VGh2ZG5IWVFWejZtdDRpI2tleS0xIl19fQ",
"body": {},
"attachments": [
{
"id": "e00e11d4-906d-4c88-ba72-7c66c7113a78",
"data": {
"json": {
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://identity.foundation/credential-manifest/application/v1"
],
"id": "c407be9a-6a17-4577-91c7-ed327c8fa8ea",
"credential_application": {
"id": "888963b8-c087-4e70-afbb-11fba91e66b3",
"spec_version": "https://identity.foundation/credential-manifest/spec/v1.0.0/",
"format": {
"ldp_vc": {
"proof_type": [
"ecdsa-sd-2023"
]
}
},
"applicant": "did:key:zDnaeVXmpeF4fafnTY44Fba4yCUMgxhPf85XEoajZbsBxPnEC",
"manifest_id": "075c7ccf-db02-42fd-bedb-d9fc369438c4"
},
"type": [
"CredentialApplication"
]
}
},
"format": "dif/credential-manifest/application@v1.0",
"media_type": "application/json"
}
]
}pre-configured credential manifest:
{
"id": "075c7ccf-db02-42fd-bedb-d9fc369438c4",
"spec_version": "https://identity.foundation/credential-manifest/spec/v1.0.0/",
"issuer": {
"id": "did:key:zDnaexEHa3xyCcG1pNCj65VPcbrYrrxVfxMW2qCsDN3XzqzxP",
"name": "Bundesanzeiger Verlag"
},
"output_descriptors": [
{
"id": "NaturalPersonCredential",
"schema": "https://oid.spherity.com/contexts/oid/v1.jsonld"
}
]
}infoThe WACI doesn't allow to select specific claims in
output_descriptorinfoThe manifest format specified above follows WACI for better readability. It is not required for pre-configured manifests.
The Bundesanzeiger authenticates the user before issuing the Natural Person Credential. There are several options to authenticate the user. The process is shown in a separate sub flow - see below.
-
The Bundesanzeiger verifies the PID information and stores the Natural Person DID in the corresponding entry of the transparency register.
-
The Bundesanzeiger issues the Natural Person Credential to the Enterprise Wallet
{
"type": "https://didcomm.org/issue-credential/3.0/issue-credential",
"id": "015c54fb-f9d4-4bd8-a2ab-157ca4776b3e",
"thid": "c6686159-ef49-45b2-938f-51818da14723",
"from": "did:peer:2.VzDnaeVQ53PrRWHhijjTCwRhez7927X92evThvdnHYQVz6mt4i.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZVZRNTNQclJXSGhpampUQ3dSaGV6NzkyN1g5MmV2VGh2ZG5IWVFWejZtdDRpI2tleS0xIl19fQ",
"to": "did:peer:2.VzDnaeXJT2DCDJyzRPXGErHYevjvZw85UT8GKnVxVBieH2mSmi.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZVhKVDJEQ0RKeXpSUFhHRXJIWWV2anZadzg1VVQ4R0tuVnhWQmllSDJtU21pI2tleS0xIl19fQ",
"body": {},
"attachments": [
{
"format": "dif/credential-manifest/fulfillment@v1.0",
"id": "e00e11d4-906d-4c88-ba72-7c66c7113a78",
"media_type": "application/json",
"data": {
"json": {
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://identity.foundation/credential-manifest/response/v1"
],
"credential_response": {
"id": "fb61b375-0b0d-4715-ab2d-fe6b15874e64",
"spec_version": "https://identity.foundation/credential-manifest/spec/v1.0.0/",
"applicant": "did:key:zDnaeVXmpeF4fafnTY44Fba4yCUMgxhPf85XEoajZbsBxPnEC",
"manifest_id": "075c7ccf-db02-42fd-bedb-d9fc369438c4",
"application_id": "888963b8-c087-4e70-afbb-11fba91e66b3",
"fulfillment": {
"descriptor_map": [
{
"format": "ldp_vc",
"id": "NaturalPersonCredential",
"path": "$.verifiableCredential[0]"
}
]
}
},
"type": [
"CredentialResponse",
"VerifiablePresentation"
],
"verifiableCredential": [
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://oid.spherity.com/contexts/oid/v1.jsonld"
],
"type": [
"VerifiableCredential",
"LegalEntityCertificate"
],
"issuer": "did:key:zDnaexEHa3xyCcG1pNCj65VPcbrYrrxVfxMW2qCsDN3XzqzxP",
"validFrom": "2024-07-30T10:11:22.985Z",
"validUntil": "2034-07-30T10:11:22.985Z",
"credentialSubject": {
"type": "NaturalPerson",
"id": "did:key:zDnaeVXmpeF4fafnTY44Fba4yCUMgxhPf85XEoajZbsBxPnEC",
"birthDate": "1970-01-01",
"domicile": {
"addressCountry": "Germany",
"addressLocality": "Berlin",
"postalCode": "10119"
},
"familyName": "Doe",
"gender": "Male",
"givenName": "John",
"jobTitle": "CEO"
},
"proof": {
"created": "2024-07-30T10:11:22Z",
"cryptosuite": "ecdsa-sd-2023",
"proofPurpose": "assertionMethod",
"proofValue": "u2V0AhVhARHyjuAE19jheprEe9-bv4_a9MMGXJ_hWZQ-uhCohyRATv8Yxpufs1n1F8NBjJfHpVWubFxy1fMNh1CWOS01uw1gjgCQCR1oZnWoehHEulnO8dJ0uP3Bu6SyB2Thy3gcrERVwXK5YIJSeQmIXNXWLoHikBWPSNKyo3cP9rafzkMJqxb-XEPi_kFhAeKLKdf4MiKluaYjUDtlywGDjDv-MiaOPJqFPUPjAws6Rap5GdpK0hBs3blYGiPGm4kxhduxyaheWp9Hgiz25rFhAQu9AYUjDY47pB4hbJPZ0o8jpcH4UGy1U4NFh1v094RlPVGzMI_DB4dTgIAO6EKGRa00ArM7R6a_dhIoyh8WvrFhAY7pjsBZ-s00NbG5Sd9gIsyi5xss8BGyF-0NeDitRUIwbR97l94H1KyVLEq3O8DzGOLXErJTQ8-9ilU-SmDFgyVhAiLHTXn6BhysArhcS6Q__QIspUQtsLH0L05bUoSRHnS6m0n4dCHGBmFrZOOS7VkSumwPe2bfSgLESAWLh2rNIzlhA8HjfZMhzMjlvbB1Lq9LvGTmVsRJVtXQizBS9aax2wuFzfOM1JaO7PISrw1AM3af4DVlwSCVnuotp3mQ8hQJWs1hAuRGGVfDUckUjLnAnUvTgtEvr52N6gBq4EC-1PUfxPGRHpeDbUmt43rkH8UODvljSODXqe3JOfQw8iHNammuQW1hAW0xTP3jIfvnZN5kRX-f8K4jF0IVg0cEvc-rXJe5lKWOy1gzgZvNcCJeKA0_s1cD7afZhCOB9AInBSstFdp17DVhAP1WpgJoTNTaluPSMlLrzbKn9_gN4lk65Y3TrGPY7kI1FmQzi2ojEOemc3zea5MSzhqotoEzgt0irFHt36WxABVhAu9neJUdo4ox7Jb_WidWZngpcP3aJZ2CIBTPHQK6P_dboTynJXP5_Kteel5hvba-tEp3PHtTgd9tb25MfYZr4MlhAbI2EqEFGcGuXsBdylJLK8AtIKITZDxEZF-3PeGwTsME1mBXR7lvc7h6O4tzMjTzFQgIrlSUMTEFrl3GtgvtKolhA_WW4zMDJvYMplAP7Imw8Ok-s79pLlHakUIXZw025m6yJyA-Yej1BitL8XD_K4rEJVXzeXRpoBCOWtl-C5xwqTVhAUwdx1c0sm6RHgXs0bPBR5yEmcEC8WlJIb2j6q4PXR_lqfOopTdv7ADE4Ua1M806sklG5ksImIn31mYiPmuzoJVhAe7wHuu31q2L_abU5q1984m4WDfvNjpTfrV7h0M3hbH9t5m7aNaCZUqEstZ6chpzdszLX7_iudHH-_-juWy7w3FhAamLHZxaKGSp1f3jtQpRwmVpkU1_MAPH6w0rmYj0ZtudSkbRdHn_VfoP4tJTA7YdD2O21nH5jYBLhZh5Y5fi_3FhAt8nJhYITVZMQ2PLf2JJTAHQuqlBGFqPD4tbss0662tlY2J0fNHtxtQFLGI9fzTYvCBv2OEomSfXIYVt97wHmvFhAdQ669KbvlpyvOhGy3ovtsh5-yUH95TEDAuPFgZgK2SV23TlQ2nYwfXUf4UboRgoyW5mElNTJRwRD836kiMjNfIA",
"type": "DataIntegrityProof",
"verificationMethod": "did:key:zDnaexEHa3xyCcG1pNCj65VPcbrYrrxVfxMW2qCsDN3XzqzxP#zDnaexEHa3xyCcG1pNCj65VPcbrYrrxVfxMW2qCsDN3XzqzxP"
}
}
]
}
}
}
]
} -
The Enterprise Wallet acknowledges the reception of the credential and closes the connection.
{
"type": "https://didcomm.org/present-proof/3.0/ack",
"id": "a22ffba5-5524-4e28-ad83-f7eb5bac6a86",
"thid": "c6686159-ef49-45b2-938f-51818da14723",
"from": "did:peer:2.VzDnaeXJT2DCDJyzRPXGErHYevjvZw85UT8GKnVxVBieH2mSmi.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZVhKVDJEQ0RKeXpSUFhHRXJIWWV2anZadzg1VVQ4R0tuVnhWQmllSDJtU21pI2tleS0xIl19fQ",
"to": "did:peer:2.VzDnaeVQ53PrRWHhijjTCwRhez7927X92evThvdnHYQVz6mt4i.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZVZRNTNQclJXSGhpampUQ3dSaGV6NzkyN1g5MmV2VGh2ZG5IWVFWejZtdDRpI2tleS0xIl19fQ",
"body": {
"status": "OK"
}
}
Result
- The Natural Person DID is registered at Bundesanzeiger
- The Natural Person Credential is stored in the wallet workspace of the user
Authentication
There are several options to authenticate the user, e.g.:
- PID
- Video-Ident
- eID ("neuer Pesonalausweis")
- federated IDs
The following section shows the authentication flow which uses the PID presented by a personal wallet. Please note that this flow is based on the WACI standard which is used by the enterprise wallet and will be implemented in the prototype. The personal EUDI-wallet (PID rule book) mandates OID4VP. The concept is open for any authentication method which provides the required level of assurance.
Workflow
Steps
-
Bundesanzeiger must verify the authenticity of the Natural Person. For this purpose, Bundesanzeiger sends an invite to the user to authenticate.
Step 3 to 18 changes if an alternative option is used.
{
"type": "https://didcomm.org/out-of-band/2.0/invitation",
"id": "6820b65b-defe-4f77-a629-e0c1df07b509",
"from": "did:peer:2.VzDnaeXJT2DCDJyzRPXGErHYevjvZw85UT8GKnVxVBieH2mSmi.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZVhKVDJEQ0RKeXpSUFhHRXJIWWV2anZadzg1VVQ4R0tuVnhWQmllSDJtU21pI2tleS0xIl19fQ",
"body": {
"accept": [
"didcomm/v2"
],
"goal_code": "authenticate"
}
}In order to generate a OOB message a URL with domain, path and a query parameter _oob is formed. The JSON message is Base64 encoded and set to the _oob query parameter.
https://enterprise-wallet.com/oid?_oob=ewogICAgICJ0eXBlIjoiaHR0cHM6Ly9kaWRjb21tLm9yZy9vdXQtb2YtYmFuZC8yLjAvaW52aXRhdGlvbiIsCiAgICAgImlkIjoiZjEzN2UwZGItZGI3Yi00Nzc2LTk1MzAtODNjODA4YTM0YTQyIiwKICAgICAiZnJvbSI6ImRpZDo8PGlzc3Vlcj4+IiwKICAgICAiYm9keSI6ewogICAgICAgICAiZ29hbF9jb2RlIjoiYXV0aGVudGljYXRlIiwKICAgICAgICAgImFjY2VwdCI6WwogICAgICAgICAgICAgImRpZGNvbW0vdjIiCiAgICAgICAgIF0KICAgIH0KfQ== -
The Enterprise Wallet displays the invite as QR-Code
-
The user signs into Personal Wallet
-
The user scans the QR-Code using the Personal Wallet
-
The Personal Wallet shows the invite to the user
-
The user accepts the invite to authenticate
-
The Personal Wallet sends a propose presentation message to the Bundesanzeiger, establishing a DIDComm connection between Personal Wallet and Bundesanzeiger
{
"type": "https://didcomm.org/present-proof/3.0/propose-presentation",
"id": "5d0491fb-bba3-4d46-b427-5ce2c7a234db",
"pthid": "6820b65b-defe-4f77-a629-e0c1df07b509",
"from": "did:peer:2.VzDnaejq9cgkiB6vJV835Lfto6XKLcRugx6h5oWukwAfvBYgDB.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZWpxOWNna2lCNnZKVjgzNUxmdG82WEtMY1J1Z3g2aDVvV3Vrd0FmdkJZZ0RCI2tleS0xIl19fQ",
"to": "did:peer:2.VzDnaeVQ53PrRWHhijjTCwRhez7927X92evThvdnHYQVz6mt4i.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZVZRNTNQclJXSGhpampUQ3dSaGV6NzkyN1g5MmV2VGh2ZG5IWVFWejZtdDRpI2tleS0xIl19fQ"
} -
The Bundesanzeiger requests presentation of PID.
{
"type": "https://didcomm.org/present-proof/3.0/request-presentation",
"id": "8f7c0dbc-b493-4752-9e93-3d0c8ebc6cb2",
"thid": "5d0491fb-bba3-4d46-b427-5ce2c7a234db",
"from": "did:peer:2.VzDnaeVQ53PrRWHhijjTCwRhez7927X92evThvdnHYQVz6mt4i.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZVZRNTNQclJXSGhpampUQ3dSaGV6NzkyN1g5MmV2VGh2ZG5IWVFWejZtdDRpI2tleS0xIl19fQ",
"to": "did:peer:2.VzDnaejq9cgkiB6vJV835Lfto6XKLcRugx6h5oWukwAfvBYgDB.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZWpxOWNna2lCNnZKVjgzNUxmdG82WEtMY1J1Z3g2aDVvV3Vrd0FmdkJZZ0RCI2tleS0xIl19fQ",
"body": {},
"attachments": [
{
"data": {
"json": {
"options": {
"challenge": "96467b65-e1f4-4bd8-be0c-6f847668fa17",
"domain": "4jt78h47fh47"
},
"presentation_definition": {
"id": "333008dd-5ead-48b1-8109-ed432a62a678",
"input_descriptors": [
{
"id:": "5af23ce2-811c-48cb-8938-e53312e179aa",
"frame": {
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://w3id.org/citizenship/v2"
],
"type": [
"VerifiableCredential",
"PermanentResidentCardCredential"
]
}
}
]
}
}
},
"format": "dif/presentation-exchange/definitions@v1.0",
"id": "ed7d9b1f-9eed-4bde-b81c-3aa7485cf947",
"media_type": "application/json"
}
]
} -
The Personal Wallet shows the request including the requested data.
-
The user confirms presentations of PID.
-
The Personal Wallet presents the PID.
{
"type": "https://didcomm.org/present-proof/3.0/presentation",
"id": "21ad0f86-f135-4764-a36d-29e19a0d4d6d",
"thid": "5d0491fb-bba3-4d46-b427-5ce2c7a234db",
"from": "did:peer:2.VzDnaejq9cgkiB6vJV835Lfto6XKLcRugx6h5oWukwAfvBYgDB.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZWpxOWNna2lCNnZKVjgzNUxmdG82WEtMY1J1Z3g2aDVvV3Vrd0FmdkJZZ0RCI2tleS0xIl19fQ",
"to": "did:peer:2.VzDnaeVQ53PrRWHhijjTCwRhez7927X92evThvdnHYQVz6mt4i.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZVZRNTNQclJXSGhpampUQ3dSaGV6NzkyN1g5MmV2VGh2ZG5IWVFWejZtdDRpI2tleS0xIl19fQ",
"body": {},
"attachments": [
{
"data": {
"json": {
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://identity.foundation/presentation-exchange/submission/v1"
],
"holder": "did:key:zDnaekLYr1tsGStqxwz38rzmgnhupHm2u1BTWmw5iNipttFzQ",
"presentation_submission": {
"id": "da60ea31-f7a5-4628-8376-3faad4d706f0",
"definition_id": "333008dd-5ead-48b1-8109-ed432a62a678",
"descriptor_map": [
{
"format": "ldp_vp",
"id": "PID",
"path": "$.verifiableCredential[0]"
}
]
},
"type": [
"VerifiablePresentation",
"PresentationSubmission"
],
"verifiableCredential": [
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://w3id.org/citizenship/v2"
],
"type": [
"VerifiableCredential",
"PermanentResidentCardCredential"
],
"validFrom": "2024-07-30T10:08:34.260Z",
"validUntil": "2034-07-30T10:08:34.260Z",
"issuer": "did:key:zDnaekLYr1tsGStqxwz38rzmgnhupHm2u1BTWmw5iNipttFzQ",
"credentialSubject": {
"type": [
"Person",
"PermanentResident"
],
"id": "did:key:zDnaekLYr1tsGStqxwz38rzmgnhupHm2u1BTWmw5iNipttFzQ",
"additionalName": "Jacob",
"birthCountry": "Germany",
"birthDate": "1970-01-01",
"commuterClassification": "C1",
"familyName": "Doe",
"formerNationality": "BS",
"gender": "Male",
"givenName": "John",
"height": {
"type": "QuantitativeValue",
"unitCode": "CMT",
"value": 175
},
"image": "data:image/png;base64,iVBORw0KGgo...kJggg==",
"permanentResidentCard": {
"filingLocation": {
"addressCountry": "Germany",
"addressLocality": "Berlin",
"addressRegion": "10119",
"type": "PostalAddress"
},
"identifier": "83627465",
"lprCategory": "C01",
"lprNumber": "999-999-999",
"type": "PermanentResidentCard"
},
"residence": {
"addressCountry": "Germany",
"addressLocality": "Berlin",
"addressRegion": "10119",
"type": "PostalAddress"
},
"residentSince": "1970-01-01"
},
"proof": {
"created": "2024-07-30T10:08:34Z",
"cryptosuite": "ecdsa-sd-2023",
"proofPurpose": "assertionMethod",
"proofValue": "u2V0AhVhA8z_GgFG6WcOfAGkSvDiRlgqLru3suaDWhTgjRhEvtUc9SkJsX-4hBOnbiVuW8Av2FNOPfj4Q2bk5PgyPD0nWTlgjgCQCXVSZkvneNl0Bs86hqCI-syE__4_dRGVahdAS0tB7AZNYIO7hNGE5R7ZgyH0c1bL7dHYeba4xPGpjCDtxmotG-yp_mCVYQFal5n5KgHZKsyXUumiIA7hU8Ec7grRGMXgFetKtE7_cuSpT9rrBIsC8IxP9H8vixzRkN2LBKjKhR01EE1D6MRhYQFrk9R2LR1zbuPkx7L-WAiM06ktpOcVdRW3FoEGdDW_WR-uop3CYpnvJGrM5jgf6u-MRFndefbKgtly3gNSEistYQAxACmaXBjWu6KMLQF0nNHC52Ak7j1auQK4vqcD75Q8zPLN5v5IZCCngPft7JsDSvsD-oVN2Glqo698YZICKiAtYQItntgAys__1Q2308sZ0XPnH3tCfudF5DaV-Lu01AVn33Kw0EFP-KU6wYQw1TstEzeDMkiJewlQH8K4vQydpQ0pYQC84XXKEqWq8YUO3F3f7Znu7qEsvScDhPpWvxNkNx3CFwb-rjETIcvMy-72vaur8-gEIYi6z90_BUlWuQCf5WkxYQEGywlXv4U2_1SCKbtFO86rwuwHLR1lHnwGcnQqYPNl2ahggXGVz_q4KfMDEbK9cprhBTDCmb0fPE9af9UXVsP1YQGCmRmBP8j4l2Li4act6R3h8GG4ofH7It3ooynHdvjIt2a2r5SHsN9Zq-t3NeZdDJY3WZysk2Q6hCzYR2AuoMQBYQJCoY8MPA09NIjLuWjRRMETF0Cw-fu7dVcSuAMkwYIe5-7Zs8VDMsXkXwrE6KiG50guFsQLhbOms-2dJe1PxGPFYQAuSJ3YBwKLfYaW44wVo5J8cJyBP3Al_2TGqiO2hrsUEMo19-LN6SvUq2Oe221MUkOSIxOo3mRtGJSEgKt6vl5BYQMWZ2nVGGWqR_jdFyVeBZROCUgix_IHt1kDc4PWtGhqtXWtl5O2rao5sxbmE3T2xbBz1UZ8HRem4vhmbUL4mSUhYQDDTyk7E-bBmFvtlAHBW0HbqJrds85R2fCeKz5tJmaZZbf6W0DPYFF__d2mWfpzChNSlhYZof7IeE03dZl8cW89YQHmQb7XUS8kayFTFRSCX2zQ_AxNygs7mIIHHXAgUaBhdwIG_SLAGzZpYt1Yc05gv99x1WFX14lUSaEp0g2xBEBtYQCzgvNQPxDuaCiNyxrqCv0P4spXDgexCRSnbRkbCfRm9ou3Hau1bp5-NOccAUQFz8rDUGMmyzOyQjwRecZxfYppYQI8nwhKIrTpXMoKaxg8yklbcclqbPBqR2nGmv-XtUyORwWNV6lwp0ft7CQ52kreVXVY80-eNKe1Lgy4yNuzaIDZYQOc7l4rXIyisUJRup_28aaXW0xNRfP_S1qpgbeZKqt226ZSSZ0TJJiarhdIMfFhPxQAf0bNWFcSJzhHQKPGK3rxYQCIq3nBRyOi0pYLxDsMjq2vjtoMT0Qwts8xFCSGi-mOcSODCf0VzCbZr2s9eoi0Vq4tde-GcHYJAQdoglh6_aCxYQNdwWCOxWuGIhdQZS1MHCF8AJF-HdfOpXvsmTAvFj7mpKhAb7PzjpRwUnEo_ZSVn4z7sHUXtQCyfi6dQ2EfMXBZYQPe6Wc65uOoUYwy16kckTFWZTS0VzUaCeWkQzztWPmraT-LbUPa_h2VrZDcHTkWG-RORWQaMsg2LmPspM_e1p5pYQJT4h6hjgyHdszyV_WBcHsO-CUIyjPQuVrzE6z_PYBzKdfaJVfwznawpLJUM3otBPaKwk7svBuIaGpRqNzdXOqdYQICznhJLB8VIq5ccihE3Qu33EDvhRMkFHdklzLZx6lHlIE_XKqXZl4_O5Px9vp9MbWiFjZCjhyobBwCmsxS5UGJYQMBIrx_zUPhchXAiS9vv-G1H93_BgILpJ9zNzL4gInCcW7NBS5i_vjSWUmG0o2tEIoieZe1CxDipSmRhdj2kVQ9YQHt4oA-sMrOy1ofxJYqvvCimZM9OXL05Fk7WNfFX8RM7jBAp_b6-e3WHEcs-BeKCb-Drj3m1nZSn4XeMxp5gi0xYQP9-5pwzPYU4dK2PK984pJVpNsCiTCBw-HXb8Jyu2SWGA_G7Wu7vUihv3trNZmGGnrRog-Gb74Q_b6zjtFZ1SJ9YQKZoNQIh4E4ukuW8l7oYvengihg0khBdStAMDI-FTnXqZSQkkdFoMs7qxnqK4vRonig8FQziSbAqaCk2lYMvVFNYQMAFy3SzfejVIDPoVfmJyxg-GmAjI6NA1xt6mMRJ0F3odJBdNfoJdgZzwYfige3T6PxtxRv9nmdS1VuzGEWAdMtYQLkvDS50MigXgJldi-zYmPoRo0k6fDoLZ8Jxi9aN7TQXamOwiuO6tZEwEYQaLLkUk_gf0L2so0TCZBlXqQyjDJRYQLcxPaHTXHTMs0sAKhLzrLic1Te7eyHIYNiooSgDOap_o-9tG9-p4r9x9oyYaYrXV3mGdlf8AKz-Vv4zrimtplZYQKdaVPWasKE2mKZVIiu9R7aTse90MAypyV0-2h36S-lOAKA-8E6n8DMdO-HvyZVUc5qj1YJmFYqTeTgbixdEn39YQI5enryCvXXkp-7LvNWBsz0_tKzbnB-0eyF0Xbf0m2mzTDDwTDxYiJ1Qqd06FSk5tN6fu944gSGxCvxhbVcl5gdYQCK6HvlNz5sm2EpRvO1ndLj-klh5ISUE_4-BFzyTNKcoMOREl9YXc8lrO2fcIlOgrhgyuw7ojcSlbRgu4e_wDmJYQG2GYxPbOvDwFg0VhMSmxRUDABd-85XxqqOJkiv6FQcdRKZu7gUNqoW6IKnWwRTaMu9eoly5QoQHcRXUQHhABVNYQFJuMgOZk2tUPIfE6drmnxWwIf1UZhVbMn0grY5izxCB2q_XDg4Od1Wlagiqu3GhsJS1OO_Biidq5WC-7onKTuhYQAo4acSZ9VlzfbmWC8amM6zGK8aCTuJn0S95KdOfE_zwjP4U0R07kP5MLubjgNkYA1j4V3kesVZjLu9QYg6Z4CBYQLgbPvVPHybJu5Ixar_5qyQbmqWB50jj55YmMLFiaUTwFjJc3g-EQVszLrWgLV0-xObYiDWQnzTsrwY5ZOG4vFpYQKlljOYSNbofA546-nxK7MSJEtj8d1moL7FYti45nM9qxf0HS8okqlvtS-No1XaLHyT4iRxICLOchEpiDEmMEChYQOD2VTEEGMWJvJ-1rDfJ5BYyhBTNKEHc-FP-nL2LmbLGWu9u-etV_rWp3eplly-6nxweWy57ofUWrMdqLe6-MOlYQH55wsc7TJUV3Knp3YGsmz0X3IPR1VpZgRPFNmRwz6237_PJzjbmujr6L8LAwnBiX2nCBufoMH7I-uNArJ8F-KeA",
"type": "DataIntegrityProof",
"verificationMethod": "did:key:zDnaekLYr1tsGStqxwz38rzmgnhupHm2u1BTWmw5iNipttFzQ#zDnaekLYr1tsGStqxwz38rzmgnhupHm2u1BTWmw5iNipttFzQ"
}
}
],
"proof": {
"type": "DataIntegrityProof",
"created": "2024-07-24T14:10:37Z",
"verificationMethod": "did:key:zDnaexEHa3xyCcG1pNCj65VPcbrYrrxVfxMW2qCsDN3XzqzxP#zDnaexEHa3xyCcG1pNCj65VPcbrYrrxVfxMW2qCsDN3XzqzxP",
"cryptosuite": "ecdsa-sd-2023",
"proofPurpose": "authentication",
"challenge": "96467b65-e1f4-4bd8-be0c-6f847668fa17",
"domain": "4jt78h47fh47",
"proofValue": "u2V0AhVhAlpiEkzUBFhpyJHW1YYDi89dRj2MazE-bxvWXgWWxsXMODd57PJitpgLD0WoSecdeqo1xwxgGm1844hzxRBoguVgjgCQDXwYlWTmQ4pmEig_cukhl8WsEMGt3e2Xe9-klRytMOQJYIIqzbuDv5vsiinOk0PVY7Eseifz0ChFh4nzXeRrQKAKVmDFYQBeCFH9SSJbZhkIpJlwe-TO3AB0SzsJk3v5isQpnMWZ9gdjhhjC6EMU6wcMU78cRrAIVlERA9AM6GdHGVZQQ_S9YQLZuV1rejr-MJkUGP5oPR6vU68wTQZoKUUwMJ74ZhPzHuXfRadKyruzZgpOfUiVB1JLwhYUnzLDlRLqV0SlEzJRYQOvTgJheEgEuHjzkBVkdsUcbPsMKUo6Q6uvjWd479-3m8M_FE9yavtZufops_km4Q8_5IxjnmFfeKEn1LZYegzFYQAy0UAbd5Vjmj0DPhZGk_a3IHzJv-3pAUmzPOYhvms0RoxfJl0nNvkLD68hSMzSF7bUJL4x_Z7Oyen9cqVzVHuJYQE-hshSP8v4_WlMawyfIDGVooXf6b1xBVE_4jAU94Pur9J_NBIVgsY-3J95K0esE_nSPN1ua9xDLseoTdOaVJbZYQLwONwDKGGXJiHNvY52-kOsyBWQohfRNpbFx8_3XSk4TFIx4-9woExHfWgC-sZEZsg0moSal0dEHSkuyHCADaddYQJ32yFGUu2rFyDl4-hck6sOm14jmccNKpVh1F0bj6Uwe-F7dkwlPIA_G00XYBAMhgSfDHUpjGLDrs5-0F1m63-hYQK9OmOmj9bWgMe47RXvFBY40kZ5XNNhtLAD9-YRoKMV7Cc2bTCm7KfFs-nufbfUbYYocOxjuP30Y_ESOuqmaWNxYQA_sbvnEU0Mh2QY_FMXz6TYHOblEJ4zvncyxNmYWozTZBtjb1zuof_CGMf3oAzM2doF5nMZQ1AxjOI63Xd9IqG1YQL9JvFwF4qwsZbISU-KetXszm5tTYbdWYL6k-kekVRIadYBorW574zAWScvyhX08t6CIGPgeE4_GLtvXwe6HstZYQNfqWVpfAS3fA3bsA9Ol0SZL7u5caOzqkdvG7BCqCxu38c3IjusfBPG8xr2wgZCL7VgLnLSfWR4eYiQosXH3J6FYQCrEuea9HQKmHFBIO4XvFkS7Yp0c_8CU-AbURnd1Uo7RtdiEnHK2VHl_vMKrJ7tdoxWc92-6bZ3SlfcKNvV8CWVYQPosBrhEZMJk126ue64a9yfjdX0KssjOyTylBmXFhUCoDnNOlJL0J5KTZirTxARdCwkyewJwcjjF-Zsbku9wuKNYQPlg17jtbrRpH4nOTzpQQ4pUIdB5dGCQ6FpmSv-BK4I4dJDs0teQfu0gJ3iNxuZOOskSWTZ5fe2_LKzn6soURRJYQNdnkqEtNLGOAzqoCfxKsE3rQxebIzlqEtJ7Qxnvtg4GvzX1U6xOPTe0-F34f-h_NCQ_n1URmRJsrKN0q7SiVTlYQESSSuFo15FSjXoxYMUODR2-LDrSBjNv61i8QU4OAjD83npKcoi0EIirQ2iwaLaihgknPrr03NvEflWQFEnArlZYQMQD0G7zQ3htNdvKzf5h80atpdC3oXRHOUw_v7gNy3G6jPvyFPzVx9g3g2RmEujLCq_ya6NQlmoLFxRgGh8KEWhYQF_T_Cm_pSomrkYVtZJ9jOatgJXjkNVWIdPBPj5Ctif3VG_hILeM1m0eYsB_gdkAA3fGVftsCmuX_DLzaz9AtitYQLpWshcCcE5-bYlqho8ji61UskbZtWYL8tV3QY6fgk0hWfT1ADAphQ61S8TYRGVeijJCbnVjK_H5U5jDwcFZFr1YQJ6SWx3WIoVqhSmElsgSERtvbyQvAgVONbEThP6B0xEIdQP49O8PFX8hdD6SbUxLOzv9iWOQhfCfMSx7qdF4GSBYQMCHM_7fII9XfbSXcwfUuiZnHEoY65u9xtHbOG6NW71vr1ONXAqbXDStMt71snwg1ih33Rx4VrLBzqOjTU5Y1oBYQC3XOMcWKDAZqlBEXbAs7lZBd51J9CDVXm7fke6rUxdAcZjTWOwC7e3uMVekqF903nHl4RPLe_8zJTHrBekgG0lYQC43Hwi16ocDKAzcq0lZIEpwmvmhUpCwdlLnLijseElMS0DhbEO4WKp-5Hjg9eYyJgXvDDVTrH5gf5sNw8nIgQlYQB33If5UIK6y4LxC3XlAr1qdeJktE_-VKhpaxSBvAafcOlgfDmiT-xXiYkhJp38iWfK_bCG2fvuphLReo6FdeDJYQCFnSPM79NxNZ_67Oaw7NsEYukalLh1hhUaIklcMva4ABDAYXNOv5OrOEl-tyOMrNOSX3AeCljWx-fEMy5GlB19YQOfpFTcchC2Zw0wU7Ad0d8VoBh8inU6o0SuQv8Mex9AN4gTSoo7T-EL5ahwC5YJBeLjuimGzmgjRKhnN2VaQeHZYQJUrEmNOX0WbhWnKxAi9phOetWcjF-Ugvku2250OlJPVY1PR6yqAM-88t39aT_Kg0eyP7br6cGZdrRtrlHOLONBYQItpK2u9hQBkMy3YC4MKGz1fw7rQvHuDjpje_m0zXfwPMJTAlKzz2gmPBkYG_5kNBdNM6nlmQFfG16rw6IO7bfFYQBGOI7QLmcmx9S03Kjy8TlmYwhKSG3Ui1Y9iKzp2mHiIFXEVei5OW9V7iAZxcCs0FK8OcsgopsPdrMsJ0gNadKNYQKdYT9S9Daivny2uSMY9l0ouNdWyxrXbeMIEQChMaIet9-wAj1sCPsm-DLlBjkXxQbpTiL6-dBoCg8c6d_mbY1tYQD_Z7YbifCFZR6GPgVvXpJmkFqjELjn8gru8jMxd4ZHvR3UqMrtrjDdElQHv2lWt5Txbxv4OjjHYamtxG7VCL-5YQCZ0WLbVIVaJGCi7odnjCv6Or3YC2BDlJUt2VTkE-rfk0PUHopk_4L8mmjXXvppbZKQoOdhNssnkvqjVcdyw2PdYQNcF3Tj6CTbKH8ZML3Na856xcosl7eTgMR_CzTC1nYsX_q8w2VFcFBh9KnNL1XTZVAHwEl3oYvuDr6ObEEOhcPpYQJjwr6YY3q1YY3B0_m_-yY6I200cfv-ftzdN5rXIIX8dOBH899sYY-svkQFf626I4MajIs1tPRZtzmklG3jEpCFYQE7bjbPM9hL267Pq2vgLntX7FHWKYvdNdPgH0zy3LKwoKY-m8WCgSNwXjzVFGoqH50gN4kCgKLa6G8GL31u9Zx1YQLL6phvNNJTlA79DkRCKqcUrFnnZLmOH8pQdGXnwiTm4J7O_2_Ts9qziqwJC7C5FLZoUjUSUIETzD4h0YILqXnlYQM0uBLFicJjf-H8q4x6MEg1xVWQxFac0g_PMCl55O0cMgHaQmJ_QEyW2RGJ7uSWQ1NZYlnT6QAZr4s98TjKpJdJYQOE447Kuat_-CpLYBVQR_msny3xdDJj2ruCCi_L12IQF07ZW6B5nxl30ou0pYfPgdWd_I6ThxrME2h-15OOmygxYQBFRQMzG7gdp6VbdS-x09WKuDlBofUih3H3mbJm0vK5TzW4DyMvSvY_ZjEBFii7Hx8vEhL6DxCmydD5xRUx1WuNYQCazO2YCOdWOSdHCT5IwGu3qfQo75jmz1aTHFeMCvDoCSwaVsQCRpjzzUKrBil6QLYPFvjIUiSVzXv5pd9lzZFlYQK1XyXzIeS_Y_MH2fwGi51x_723anMQB5Kr4FjBqz1PHRwkTt1BzEPWxMBF8lfzFgpfqj2mWUzMHA9ik1T8-klNYQPhEmLc_E86yp2kwy2FL0SzMgRf-M7vG8ylIbfu4HLIPc4MquQTjkrHVRanFC0yhuiIjrVbhiMnKmYQt8G940k9YQDAtB6MqXKuJPNHtTYskYRb7wHuw8BdGfMngPME4Ac9tWRuD26WX2NYOW965FOD9Mn-zUG4BTomUWNs4bU22Uw1YQHJMeDjJaQ3pNh9r3P-FHSJw1mqiKnBtJtn-ILzgx5SE75i01V2HJPwzXPeBIPsyRhPzz29W7K70jxIOgjR1j15YQEMSLVthjJWp5weSGw_VNEyh6JC80Hs93NaHKaaHx07DOehpGNvFSdubRAwx-eLDF76jtfy6-JmnzFG8-IzVVq9YQAOZE1TpCEpk0TSq2q7DNk1WtsN7JUIr83sqzSZynbauFDSzO333bA99IEo8FxzySXEy5NCYCu-Ys1-KOQ6TuNpYQLXmRzUd4grjRw0UstJWVPTHFUVhVpusFNXA7Kuwc9NFTTroewJq3k_q8Q7KoYbsJzbgrZ3xB5AxV-iPT8dcjwZYQLglYpckPYAZ-Bv14nSujKktL9QECBFqhG8QDBg70nIMB9WmZwCjirHJumNRUajr9_11f8jOG9Z8zD_b9_mibS5YQLxRZTGjhqWPC_Tiw-FHsUQfV8DntVO-KPlGtQwMAZ-BwRbMZgm1jvTwSw4Lm0n8haFQqpU6WgTcm-msThlQ1SeA"
}
}
},
"format": "dif/presentation-exchange/submission@v1.0",
"id": "2a3f1c4c-623c-44e6-b159-179048c51260",
"media_type": "application/ld+json"
}
]
} -
The Bundesanzeiger verifies the PID
-
The Bundesanzeiger notifies the Personal Wallet of the successful validation and closes the connection
{
"type": "https://didcomm.org/present-proof/3.0/ack",
"id": "99a4f6a7-4a7b-4ee3-bafc-aeea6b5d43a2",
"thid": "5d0491fb-bba3-4d46-b427-5ce2c7a234db",
"from": "did:peer:2.VzDnaeVQ53PrRWHhijjTCwRhez7927X92evThvdnHYQVz6mt4i.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZVZRNTNQclJXSGhpampUQ3dSaGV6NzkyN1g5MmV2VGh2ZG5IWVFWejZtdDRpI2tleS0xIl19fQ",
"to": "did:peer:2.VzDnaejq9cgkiB6vJV835Lfto6XKLcRugx6h5oWukwAfvBYgDB.SeyJ0IjoiZG0iLCJzIjp7InVyaSI6Imh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9kaWRjb21tIiwiYSI6WyJkaWRjb21tL3YyIl0sInIiOlsiZGlkOmtleTp6RG5hZWpxOWNna2lCNnZKVjgzNUxmdG82WEtMY1J1Z3g2aDVvV3Vrd0FmdkJZZ0RCI2tleS0xIl19fQ",
"body": {
"status": "OK"
}
} -
User get informed about successful authentication
-
User logs out