testhmac 987 B

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