DAT Rust Biblioteca

GitHub crates.io

Instalación

toml

Inicio rápido

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

rust

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.

rust

2. Emitir un DAT

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

rust

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.

rust

Funciones principales

FunciónPropósito
sync().awaitSincroniza los certificados inmediatamente.
issue(plain, secure)Crea un DAT con el certificado emisor actual.
parse(dat)Verifica un DAT y devuelve su payload.
last_error().awaitDevuelve 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.

rust

Como issue acepta actualmente strings, codifica los bytes arbitrarios como Base64Url o Hex y vuelve a decodificarlos después de la verificación.

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

La tarea de sincronización automática termina cuando se libera el último Arc.

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