Skip to main content

Hash Signing

Hash signing is the option for the client to pre-compute hash of the data that should be signed instead of providing the complete data. This approach may be useful to improve the overall speed of the signature processing as the server does not have to perform all steps with the signature formatting. Or it can be used when the data that should be signed are sensitive and the client does not want to share its content for the signature.

The hash signing is available for the:

Detached signatures

Only detached signatures are allowed with hash signing. Detached signature is one of the packaging options where the resulting signature data is separated from the original external resources.

note

If the worker has configured other packaging option than DETACHED and hash signing is applied, the signing process it will automatically override this property and use DETACHED packaging.

Activating hash signing

To activate the hash signing, you need to configure the following properties:

PropertyDescriptionDefault ValueMandatory
CLIENTSIDEHASHINGHash is expected to be provided as input for the signing process.falseNO
ALLOW_CLIENTSIDEHASHING_OVERRIDEAllow client to specify in the request metadata if the input data is in the form of hash and hash signing is requested.falseNO
ACCEPTED_HASH_DIGEST_ALGORITHMSComma-separated list of allowed digest algorithms for hash signing.NONEMandatory if:
  • CLIENTSIDEHASHING
  • ALLOW_CLIENTSIDEHASHING_OVERRIDE
warning

When you configure both CLIENTSIDEHASHING=true and ALLOW_CLIENTSIDEHASHING_OVERRIDE=true, the CLIENTSIDEHASHING takes precedence and all requests will be considered as requests for hash signing. If you want to keep the decision on the client, use only ALLOW_CLIENTSIDEHASHING_OVERRIDE=true.

Hash signing data format

When the hash signing is activated, worker is expected to receive Base64-encoded data of the hash pre-computed by the client as input for the signing request.

Request metadata properties

The following metadata should be provided by the client in the signing request when hash signing is activated:

PropertyDescriptionMandatory
CLIENTSIDE_HASHDIGESTALGORITHMSpecifies the digest algorithm used to digest the data provided for the hash signing.YES
USING_CLIENTSUPPLIED_HASHSpecifies if the data provided are already digested by the client or not.Mandatory when ALLOW_CLIENTSIDEHASHING_OVERRIDE=true