Skip to main content

HMAC Verify Data

HMAC Verify Data validates an HMAC signature generated for input data using a shared secret key.

The step recomputes the HMAC (SHA-256) and compares it with the provided signature using the configured comparison mode.


Parameters

TEXT_ENCODING

Encoding used to convert input text into bytes before verification.

Supported values:

  • utf8
  • unicode
  • ascii
  • base64

Default: utf8


KEY_ENCODING

Encoding used to convert the secret key into bytes.

Supported values:

  • utf8
  • base64
  • hex

Default: utf8


SIGNATURE_ENCODING

Encoding used to convert the provided signature into bytes (for fixed-time comparison).

Supported values:

  • base64 (recommended)
  • hex
  • utf8

Default: base64


COMPARISON

Specifies how the computed signature should be compared with the provided signature.

Supported values:

  • fixedtime (recommended, constant-time comparison)
  • ordinal
  • ordinalignorecase

Default: fixedtime


TEXT_PARAM

Message parameter name that contains the input text.

Default: TEXT


KEY_PARAM

Parameter name used to resolve the secret key.

The key is resolved in the following order:

  1. Step Parameters
  2. Message Parameters

Default: KEY


SIGNATURE_PARAM

Message parameter name containing the signature to verify.

Default: SIGNATURE


RESULT_PARAM

Message parameter name that receives the verification result.

Direction: Out
Default: VALID_SIGNATURE


Execution Context Behavior

  1. Reads text from TEXT_PARAM.
  2. Resolves the secret key from KEY_PARAM.
  3. Reads the provided signature from SIGNATURE_PARAM.
  4. Converts text and key using their respective encodings.
  5. Computes HMAC using SHA-256.
  6. Compares the computed signature with the provided signature using the configured COMPARISON mode:
    • fixedtime → constant-time byte comparison
    • ordinal → case-sensitive string comparison
    • ordinalignorecase → case-insensitive string comparison
  7. Writes the verification result (True or False) to RESULT_PARAM.

Example Configuration

ParameterValue
TEXT_ENCODINGutf8
KEY_ENCODINGutf8
SIGNATURE_ENCODINGbase64
COMPARISONfixedtime
TEXT_PARAMTEXT
KEY_PARAMKEY
SIGNATURE_PARAMSIGNATURE
RESULT_PARAMVALID_SIGNATURE

Example Result

VALID_SIGNATURE = True