Use JWS to add an additional layer of security to every request.
Request signing must be activated by Paxos. Contact Support to get started.Signed requests use your own private key, similar to mTLS or SSH public authentication, and then attach the signature to the request as the
Paxos-Signature HTTP header
, using the JSON Web Signature (JWS) format.
Never share your private keys with anyone, especially for Production deployments. Using an HSM, secrets manager, or key-management service may provide an additional layer of protection.
To use the EdDSA (ed25519) algorithm when generating key pairs, install OpenSSL 3 using the package manager of your choice. Older versions of OpenSSL do not support the EdDSA (ed25519) algorithm.To generate a new ES256 private key using the terminal:
openssl version
openssl ecparam -name prime256v1 -genkey -noout -out my-private-ec.pem
openssl ec -in my-private-ec.pem -pubout > my-public-ec.pem
openssl version
openssl genpkey -algorithm ed25519 -outform PEM -out my-private-key.pem
openssl pkey -in my-private-key.pem -pubout > my-public-key.pem
Never share your private keys with anyone, especially for Production deployments. Using an HSM, secrets manager, or key-management service may provide an additional layer of protection.
Request signing must be activated by Paxos. Contact Support to get started.Scroll down and use Edit API Credentials to make changes. Switch Request Signing to open the edit dialogue and add your Public Key. Once you Save Changes, contact Support to get started.
Header Item | Description |
---|---|
kid | The Key ID of the configured Public Key. Retrieve from Admin > API > API Cretentials. |
alg | The algorithm used to generate the Key. The value must be: EdDSA or ES256. Retrieve from Admin > API > API Cretentials. |
paxos.com/timestamp | The current timestamp in UNIX time format. Signatures remain valid for 30 minutes after the specified timestamp. |
paxos.com/request-method | The POST and PUT methods also require the JWS payload in the body bytes. |
paxos.com/request-path | The endpoint path, including query parameters. |
POST
or PUT
method, include the JWS payload in the body bytes: