@signature-params
contains an ordered list of components that make up the signature base. It is made up of two sections, fields and meta data.
"@signature-params": (fields...);meta
) separated and contained within ellipsis (...)
;
) separated and specify additional information about the cryptographic operationRetrieve Private Key
Determine Signature Base
Calculate Signature
computed-signature
).computed-signature
will be OTEyMjY4...A5NTNDMEQ=
Signature Input
@signature-params
and will be passed along the header. The inputs allow for the signature to be recomputed and verified.Make Signed Request
Signature
and Signature-Input
to the request headersig1=:<computed-signature>:
sig1=<@signature-params>
Retrieve Public Key
Step 1
in Validate Webhook MessageRecompute Message Signature
Signature-Input
from the http header to determine the signature base.sha-512
digest from the signature basecomputed-message-signature
.Identify Header Signature
sig1=:
prefix and the :
suffix to end up with the header-base64-signature
.header-message-signature
equals OTEyMjY4...A5NTNDMEQ=
Decode Signature
header-base64-signature
.header-message-signature
.Compare Signatures
computed-message-signature
to the header-message-signature
.Verify or Reject
computed-message-signature
does not equal header-message-signature
.Fields | Request Types | Required | Note |
---|---|---|---|
Content-Type | POST , PUT , PATCH | Yes | |
Content-Digest | POST , PUT , PATCH | Yes | |
Content-Length | POST , PUT , PATCH | Yes | |
Authorization | GET , POST , PUT , PATCH , DELETE | Yes | Not required for /auth |
X-Client-Id | GET , POST , PUT , PATCH , DELETE | Yes | Not required for /auth |
X-Idempotency-Key | POST , PUT , PATCH , DELETE | Yes | |
@method | GET , POST , PUT , PATCH , DELETE | Yes | |
@target-uri | GET , POST , PUT , PATCH , DELETE | Yes | |
@path | GET , POST , PUT , PATCH , DELETE | Yes | |
@query | GET , DELETE | Yes | |
@signature-params | GET , POST , PUT , PATCH , DELETE | Yes |
Name | Description | Required | Note |
---|---|---|---|
keyid | This is the id of the public key sent over to pipevest. | Yes | ex: staging-pipevest-ed25519 |
created | The unix time when the cryptographic operation took place | Yes | |
expires | Unit time stamp that represents created + 100 ms | No | Not needed, but recommended |