Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

By signing a credential with a JSON LD private key, the issuer of this credential can be verified with JSON LD public key.

Webhooks:

  1. ProofSpace calls third-party service:

  • An interaction webhook can be called while the user performs an interaction. It contains information on current interaction and requested credentials from a client, and may return information on the credentials that should be issued.

  • A credential check webhook can be configured to perform validation of credentials outside ProofSpace (such as the check that the hash is present in the blockchain or checking the root authority of the certificate). 

2. Third-party service calls ProofSpace:

  • Credential issue webhook is called by the third-party service to issue credentials via ProofSpace service backend.

For more information, visit Integration Webhooks API Overview.

Because webhooks send data to public URLs, incorrect or random data may be sent by anyone. To prevent this case, each request should be signed and verified by the keys that both parties provide to each other.

Features

Description

Screenshots

Webhook keys

Three types of keys can be used on this platform to sign and verify webhook requests: "RSA keypair" (private and public), "SHA secret," and "RSA-public key."

The "SHA secret" key type is used to sign and verify the Bearer Token.

"RSA Public Key" is used only to verify incoming webhook requests from third-party systems. 

The "RSA keypair" is used to sign the outgoing webhook requests with a private key and verify them by the third-party system with a public key from the pair.

ProofSpace agent and third-party system should exchange public keys and SHA secrets (if used) before integration to be able to verify webhook requests. 

Please note that the key type "SHA secret" can be used only in the auth type "Bearer Token".

Add a webhook key

To set up webhook keys, click the "Keys" tab in the main menu, and then click the "Webhook keys" tab on the "Keys" page.

Click the "Add" button. The "Add webhook authentication key" popup window will appear.

Setup webhook key

Fill in the "Name" field with any convenient key identifier.

Choose a key type from the drop-down list.

If "SHA secret" was selected, in the "SHA secret" box, enter the key that you and your partner will use to sign and verify the bearer token.

Check the "Set as default for incoming webhook requests" checkbox if this key will be used as the default key for incoming webhook requests.

If "RSA public key" was selected, in the "Public key" box, enter the public key, provided by the third-party system for subsequent webhook requests' verification.

Check the "Set as default for incoming webhook requests" checkbox if this key will be used as the default key for incoming webhook requests.

The default RSA key pair, consisting of public and private keys, is generated automatically when the service is created. You can find it by navigating to the “Key” tab in the main menu, selecting “Webhook keys”, and then clicking on “Default."

To create a new RSA key pair, click the "Generate" icon under the "Key type" field. Alternatively, you can insert public and private keys generated elsewhere into the corresponding fields."

Click "Submit."

Delete Webhook key

To delete a webhook key, click the "Delete" icon on the corresponding key line.

JSON LD Keys

The JSON LD keys can be manually added on the "JSON LD Keys" tab of the "Keys" page; otherwise, when the first issued credential is imported into the PDF file, the JSON LD key will be generated automatically.

To manually set up the JSON LD key, click the "Keys" tab in the main menu, and then click the "JSON LD Keys" tab on the "Keys" screen.
The popup window "Add JSON LD key" will appear.

Fill in the “Name“ field for the key (key identifier).

In the “Public key“ field, insert the public key.

In the “Private key“ field, insert the private key.

  • No labels