#!/bin/bash SECRET="NovalonManageSystemSecretKey2026" METHOD=$1 URL=$2 BODY=$3 TIMESTAMP=$(python3 -c "import time; print(int(time.time() * 1000))") NONCE="${TIMESTAMP}-$(head /dev/urandom | LC_ALL=C tr -dc 'a-z0-9' | head -c 13)" PATH_PART=$(echo "$URL" | sed -E 's|^https?://[^/]+||' | sed 's|\?.*||') QUERY_PART=$(echo "$URL" | sed -E 's|^https?://[^/]+||' | sed -n 's|.*\?||p') STRING_TO_SIGN="${METHOD} ${PATH_PART} ${QUERY_PART} ${BODY} ${TIMESTAMP} ${NONCE}" SIGNATURE=$(echo -n "$STRING_TO_SIGN" | openssl dgst -sha256 -hmac "$SECRET" -binary | base64) echo "X-Signature: $SIGNATURE" echo "X-Timestamp: $TIMESTAMP" echo "X-Nonce: $NONCE"