DAT Go Biblioteca
GitHub pkg.go.devInstalaçã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() | Sincroniza os certificados imediatamente. |
Issue(plain, secure) | Retorna uma string DAT e um erro. |
Parse(dat) | Retorna um Payload verificado e um erro. |
LastError() | 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.
Strings de Go podem conter bytes. Passe um slice de bytes como string e depois converta o resultado de volta para []byte.
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
Quando a sincronização automática estiver ativa, use defer cms.Close() para garantir a limpeza.
Use os códigos de erro e as classificações de nova tentativa em vez das mensagens de erro.