By signing a credential with a JSON LD private key, the issuer of this credential can be verified with JSON LD public key.
Webhooks:
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" public and private keys are generated automatically when the service is created and may be found on the "Webhook keys" tab of the "Keys" page. You can see them by clicking "Show." To create a new key pair, click the "Generate" icon under the "Key type" field, or insert public and private keys generated in any other way 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. 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. |