DAT Rust Biblioteca
GitHub crates.ioInstalação
Início rápido
Este fluxo completo obtém certificados do CMS, cria um DAT com dados JSON e o verifica.
Passo a passo
1. Conectar ao CMS
Um serviço emissor usa um token para certificados completos. A sincronização imediata na inicialização evita a emissão antes que os certificados estejam disponíveis.
2. Emitir um DAT
Este exemplo coloca JSON público em plain e informações protegidas do usuário em formato JSON em secure.
3. Verificar um DAT
parse confere a expiração e a assinatura e depois descriptografa secure. Use apenas um payload retornado após uma verificação bem-sucedida.
Funções principais
| Função | Finalidade |
|---|---|
sync().await | Sincroniza os certificados imediatamente. |
issue(plain, secure) | Cria um DAT com o certificado emissor atual. |
parse(dat) | Verifica um DAT e retorna seu payload. |
last_error().await | Retorna o último erro de sincronização. |
Áreas de dados
plain: bytes assinados, mas não criptografados.secure: bytes criptografados.payload: confie nele somente depois queparsefor bem-sucedido.
Opções além de JSON
Os exemplos usam o conhecido JSON. Para um processamento mais rápido, dados binários podem evitar a serialização e o parse de JSON, além de reduzir o tamanho dos dados.
Armazene valores simples como texto ou coloque dados estruturados em formatos binários como Protobuf ou MessagePack em plain e secure.
Como issue atualmente aceita strings, codifique bytes arbitrários como Base64Url ou Hex e decodifique-os novamente após a verificação.
Serviços exclusivos para verificação
Um serviço que não emite DAT usa a opção verify-only e um token verify-only, e chama apenas parse.
Encerramento e erros
A tarefa de sincronização automática termina quando o último Arc é descartado.
Use os códigos de erro e as classificações de nova tentativa em vez das mensagens de erro.