Questão nº 128
Questão de Engenharia de Software · CEBRASPE TCU 25 AUFC 2025 (nº 128)
Acerca do versionamento de APIs RESTful e do JWT (JSON Web Token), julgue os itens subsequentes.
A decodificação de um JWT envolve transformar o header e o payload em um formato compacto e seguro para URLs, de maneira a permitir que qualquer pessoa leia essas partes sem precisar de uma chave.
Resposta comentada
O conceito-chave aqui é a diferença entre codificar e assinar. O JWT tem três partes: o header (metadados), o payload (dados) e a assinatura (criada com uma chave secreta). As duas primeiras partes são apenas codificadas em Base64URL — um formato compacto e seguro para URLs — e qualquer pessoa pode decodificá-las e ler o conteúdo sem chave alguma. A assinatura é que garante a integridade e autenticidade, e essa sim só pode ser verificada com a chave correta.
- Correta: Errado. O item troca o verbo "codificar" por "decodificar" e, mais grave, afirma que a decodificação "transforma" o header e payload em formato compacto — o que é o processo inverso: a codificação (ou serialização) é que faz essa transformação; a decodificação é o ato de ler o que já está codificado.
O trecho exato que torna o item errado é: "A decodificação de um JWT envolve transformar o header e o payload em um formato compacto" — pois quem transforma em formato compacto é a codificação, não a decodificação. Além disso, o item acerta ao dizer que "qualquer pessoa leia essas partes sem precisar de uma chave", mas erra ao atribuir essa ação à decodificação.
Como ficaria certo: "A codificação de um JWT envolve transformar o header e o payload em um formato compacto e seguro para URLs, de maneira a permitir que qualquer pessoa leia essas partes sem precisar de uma chave."
Fonte: CEBRASPE TCU 25 AUFC 2025 Auditor Federal de Controle Externo - Área de Controle Externo / Orientação: Auditoria de Tecnologia da Informação. Reproduzida para fins de estudo.