Credential Verification

Verify Verifiable Credentials and Verifiable Presentations to ensure it is well formatted, tamper-evident, and authentic.

When receiving a credential in a form of Verifiable Credential and Verifiable Presentation, it is recommended that you verify the content to ensure that the data being shared is valid and authentic. Use the Credential Verification by Affinidi to do this.

Benefits of Credential Verification

  • Format Validation: Validates if the data shared adheres to the expected format and structure.
  • Authenticity Verification: Cryptographically verify the shared data to ensure it is tamper-evident and authentic.

How Credential Verification Works

sequenceDiagram
    actor User
    participant Website
    participant Verifier Service

    User->>Website: Shared a credential from Affinidi Vault
    Website->>Verifier Service: Verify the shared credential
    Note over Website, Verifier Service:  Verifiable Credential [JSON]
    Verifier Service->>Verifier Service: Cryptographically verify the credential
    Verifier Service->>Website: Response isValid
    Note over Verifier Service, Website:  returns false with list of errors if invalid
    Website->>Website: Process shared credentials
    Website->>User: Provide access

Verifying Credentials

To use the Credential Verification, go to the Credential Verification on the  Affinidi Portal under Services.

Credential Verification

The Credential Verifications requires two input:

  1. The type of Credentials you want to verify:

    • Verifiable Credentials
    • Verifiable Presentations
  2. The credential data that you want to verify, for example, the Verifiable Presentations sent by Affinidi Login:

{
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://schema.affinidi.com/EmailV1-0.jsonld"
  ],
  "id": "claimId:63b5d11c0d1b5566",
  "type": [
    "VerifiableCredential",
    "Email"
  ],
  "holder": {
    "id": "did:key:randomdid"
  },
  "credentialSubject": {
    "email": "non-existant-email@non-existant.com"
  },
  "credentialSchema": {
    "id": "https://schema.affinidi.com/EmailV1-0.json",
    "type": "JsonSchemaValidator2018"
  },
  "issuanceDate": "2024-05-29T14:11:46.408Z",
  "expirationDate": "2025-05-29T14:11:46.408Z",
  "issuer": "did:key:zQ3shiEH16wHAfbQSSuYB1Lc3KSQC31W4gkaXKa8PgCSz83du",
  "proof": {
    "type": "EcdsaSecp256k1Signature2019",
    "created": "2024-05-29T14:11:46Z",
    "verificationMethod": "did:key:zQ3shiEH16wHAfbQSSuYB1Lc3KSQC31W4gkaXKa8PgCSz83du#zQ3shiEH16wHAfbQSSuYB1Lc3KSQC31W4gkaXKa8PgCSz83du",
    "proofPurpose": "assertionMethod",
    "jws": "eyJhbGciOiJFUzI1NksiLCJiNjQiOmZhbHNlLCJjcml0IjpbImI2NCJdfQ..qjCyJh3FgDkPNyh19NIICW8OR0w_OShLPqeORbAyOu88WOJWeQPbyFIHxCiQ9q3eaUvK0u4Rhd3oGrYkrqYcCQ"
  }
}

After providing the credential type and credential data, click on Submit button.

The service will respond with success if the credential is valid. If failed, the service will list the errors.

Credential Verification Result