Build your own external signer executable
To build your own external signer executable:
Read Input Data
The tool reads raw claim bytes from stdin into a buffer.
These bytes represent the data to be signed.
Compute Hash
A SHA-256 hash is computed over the claim bytes (sha2::Sha256).
The resulting 32-byte digest is Base64-encoded, as required by the signing API.
Obtain Signature Activation Data (SAD)
Calls the SAD API (SAD_API_URL) to request a temporary SAD token.
This token authorizes signing operations for the given hash.
The request includes:
credentialID
PIN
hash (in Base64)
Authentication is handled via client certificate (mutual TLS).
The response provides a short-lived SAD string.
Request Remote Signature
Calls the Signing API (SIGNING_API_URL) with:
The Base64 hash of the claim bytes.
The SAD token.
The signing algorithm (Ps256 / RSASSA-PSS).
The service returns a Base64-encoded digital signature.
Process and Output Signature
The Base64 signature is decoded into raw bytes.
These raw signature bytes are written to stdout.
If any step fails, an error is logged, and the process exits with a non-zero status.