Signature Validation

The Identity Profile Report JSON contains a proof object that can be used to verify the integrity of the data. To keep the JSON structure in human-readable form, we use a variation of JSON Web Signature (JWS) with detached payload format. This means that instead of carrying the JSON payload in the JWS, it can be attached to the payload as the proof.jws field value, while keeping the payload as it was signed.

Below is the proof object structure:

JSON
Copy

Verification process

Verifying the signature and data integrity can be achieved by the following:

  1. Retain the proof.jws value from the Identity Profile Report.
  2. Change the proof.jws value to an empty string (““) in the Report JSON.
  3. Canonicalise the report according to RFC 8785.
  4. Verify the signature against the key that’s obtained by resolving proof.public_key_url .

Example code

Javascript
Python
Go
PHP
Java
C#
Copy

Reference

Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard