Skip to main content

Enroll Natural Person

General

Natural Persons with signatory rights are referenced in the Enterprise Credential and should register with Bundesanzeiger.

info

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

Workflow

The flow is represented by a basic credential issuance flow.

Steps

note

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
  1. The user requests Bundesanzeiger enrollment using the Enterprise Wallet

  2. 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"
    }
    ]
    }
    info

    The WACI doesn't allow to select specific claims in output_descriptor

    info

    The 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.

  1. The Bundesanzeiger verifies the PID information and stores the Natural Person DID in the corresponding entry of the transparency register.

  2. 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"
    }
    }
    ]
    }
    }
    }
    ]
    }
  3. 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

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

  1. 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==
  2. The Enterprise Wallet displays the invite as QR-Code

    QR Code Authenticate

  3. The user signs into Personal Wallet

  4. The user scans the QR-Code using the Personal Wallet

  5. The Personal Wallet shows the invite to the user

  6. The user accepts the invite to authenticate

  7. 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"
    }
  8. 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"
    }
    ]
    }
  9. The Personal Wallet shows the request including the requested data.

  10. The user confirms presentations of PID.

  11. 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"
    }
    ]
    }
  12. The Bundesanzeiger verifies the PID

  13. 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"
    }
    }
  14. User get informed about successful authentication

  15. User logs out