#!/bin/bash # Configurações da API e dados do usuário (do test.db) API_URL="http://localhost:8000/hmachelloworld" # Ajuste a porta se necessário (ex: 8080) API_USER="du" API_KEY="b27dafa631bb814bdf7b130ec913fb81" API_SECRET="4ee698dd22640f3c8a5736321581e728ae28c3b64399725405c92a6bf2d5c7eb" # Gera nonce (timestamp atual em segundos) NONCE=$(date +%s) # Para GET, body é vazio, então message = "::${NONCE}" MESSAGE="::${NONCE}" # Secret = API_KEY::API_SECRET SECRET="${API_KEY}::${API_SECRET}" # Calcula a assinatura HMAC-SHA256 (usando openssl) SIGNATURE=$(echo -n "${MESSAGE}" | openssl dgst -sha256 -hmac "${SECRET}" | awk '{print $2}') # Verifica se a assinatura foi gerada corretamente if [ -z "$SIGNATURE" ]; then echo "Erro ao gerar assinatura HMAC." exit 1 fi # Envia a requisição curl com headers echo "Testando rota / com HMAC:" curl -v \ -H "x-user: ${API_USER}" \ -H "x-nonce: ${NONCE}" \ -H "x-signature: ${SIGNATURE}" \ "${API_URL}"