DAT Go Biblioteca

GitHub pkg.go.dev

Instalación

bash

Inicio rápido

Este flujo completo obtiene certificados de CMS, crea un DAT con datos JSON y lo verifica.

go

Paso a paso

1. Conectar con CMS

Un servicio emisor usa un token para certificados completos. La sincronización inmediata al iniciar evita emitir antes de que los certificados estén disponibles.

go

2. Emitir un DAT

Este ejemplo guarda JSON público en plain e información protegida del usuario en formato JSON en secure.

go

3. Verificar un DAT

parse comprueba la caducidad y la firma, y después descifra secure. Usa únicamente el payload devuelto tras una verificación correcta.

go

Funciones principales

FunciónPropósito
Sync()Sincroniza los certificados inmediatamente.
Issue(plain, secure)Devuelve una string DAT y un error.
Parse(dat)Devuelve un Payload verificado y un error.
LastError()Devuelve el último error de sincronización.

Áreas de datos

  • plain: bytes firmados pero no cifrados.
  • secure: bytes cifrados.
  • payload: confía en él únicamente cuando parse termine correctamente.

Opciones además de JSON

Los ejemplos usan el conocido formato JSON. Para procesar más rápido, los datos binarios pueden evitar la serialización y el análisis de JSON, además de reducir el tamaño de los datos.

Guarda valores simples como texto o coloca datos estructurados en formatos binarios como Protobuf o MessagePack dentro de plain y secure.

go

Las strings de Go pueden contener bytes. Pasa un segmento de bytes como string y vuelve a convertir el resultado a []byte.

Servicios exclusivos para verificación

Un servicio que no emite DAT usa la opción verify-only y un token verify-only, y solo llama a parse.

Cierre y errores

Cuando la sincronización automática esté activa, usa defer cms.Close() para garantizar la liberación.

Usa los códigos de error y las clasificaciones de reintento en lugar de los mensajes de error.