DAT Go Biblioteca

GitHub pkg.go.dev

Instalação

bash

Início rápido

Este fluxo completo obtém certificados do CMS, cria um DAT com dados JSON e o verifica.

go

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.

go

2. Emitir um DAT

Este exemplo coloca JSON público em plain e informações protegidas do usuário em formato JSON em secure.

go

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.

go

Funções principais

FunçãoFinalidade
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 que parse for 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.

go

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.