Signing Agent
Deploy
TL;DR
- Register Signing Agent with the Partner API via the self-serve API
Ensure that you have everything you need to hand:
- Qredo account with supporting Partner API keys enabled
- Access to active API key
- Access to private key
- Customized Signing Agent config.yaml file set up
- Docker volume and container running
Encode your API key
Generate a Base64 representation of your private.pem
key:
- e.g. for a Mac:
base64 -i private.pem
Copy your Base64-encoded token to the clipboard or a text file. You are going to use it as a part of the payload data on the registration endpoint when making the API call to the Signing Agent service.
Never run the service directly connected to the internet. All external requests to the API endpoints exposed by the Signing Agent should be done through a reverse proxy service (e.g. Nginx or HAProxy) and over TLS.
Verify your deployment
There are currently three healthcheck endpoints available that allow you to verify that your deployment is successful.
The version healthcheck endpoint expects a GET
request, and it responds with an HTTP 200 status code and a JSON payload containing the current build information:
{
"buildVersion": "101c354",
"buildType": "dev",
"buildDate": "Fri Oct 7 12:53:12 UTC 2022"
}
Register your Signing Agent
Note, the Docker volume provides a self-serve Rest API service that registers your Signing Agent with Partner API. Call /register
, substituting your URL for the Signing Agent service.
Example request
For the following example, we assume the Signing Agent service is running at http://localhost:8007
. You should supply your address and port of the signing service you started with the Docker image.
curl -X 'POST' \
'http://localhost:8007/api/v1/register' \
-H 'Content-Type: application/json' \
-d '{
"name": "Test Agent",
"APIKey": "Partner APIKey from the WebApp",
"base64PrivateKey": "token from the clipboard"
}'
Example response
{
"agentID":"EXAMpl31DbS7SgE21Ht5xRHFWRbcrH9AMZHgsoUd2gpp",
"feedURL":"ws://localhost:8007/api/v1/client/feed"
}
Retain your agentID
, you will need this later.