Playground do Qredential, quebre você mesmo

qredential
Leia uma credencial e obtenha uma resposta sem conexão de rede. Tudo nesta página roda no seu navegador.
ES256 · SD-JWT
Gerando um par de chaves do emissor e assinando uma credencial de demonstração…

A credencial

Uma habilitação fictícia de id.arcadia.example. Duas decisões separadas moldam o que o verificador acaba vendo: o emissor decide quais claims podem ser omitidos, e então o portador decide quais daqueles vai de fato mostrar. Mude qualquer uma das colunas e o QR se reconstrói.

Claim Valor Emissor permite
omitir
Portador
revela

O que de fato viaja

Código apresentado

Error correction M

Verificador

O resultado abaixo é produzido pelo verify() rodando contra uma lista de confiança fixada e uma lista de status em cache. Nenhuma requisição sai da página.

Ready
Honest presentation

Tente quebrar

Cada botão pega a credencial acima e faz algo que um atacante realmente faria, com manipulação de string pura. O código de recusa esperado está impresso no botão, então dá para conferir a biblioteca contra as próprias afirmações.

Verificar qualquer payload

Cole um envelope QC1:, ou a forma SD-JWT crua. Só o emissor da demonstração está na lista de confiança desta página, então credencial de qualquer outro lugar é recusada como emissor desconhecido, que é a resposta correta.