DAT Rust Biblioteca
GitHub crates.ioInstalación
Inicio rápido
Este flujo completo obtiene certificados de CMS, crea un DAT con datos JSON y lo verifica.
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.
2. Emitir un DAT
Este ejemplo guarda JSON público en plain e información protegida del usuario en formato JSON en secure.
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.
Funciones principales
| Función | Propósito |
|---|---|
sync().await | Sincroniza 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().await | 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 cuandoparsetermine 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.
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.