DAT Rust Библиотека

GitHub crates.io

Установка

toml

Быстрый старт

Этот полный процесс получает сертификаты из CMS, создаёт DAT с данными JSON и проверяет его.

rust

Пошаговое руководство

1. Подключение к CMS

Сервис выпуска использует токен для полных сертификатов. Немедленная синхронизация при запуске предотвращает выпуск до появления сертификатов.

rust

2. Выпуск DAT

В этом примере открытый JSON помещается в plain, а защищённые сведения о пользователе в формате JSON — в secure.

rust

3. Проверка DAT

parse проверяет срок действия и подпись, а затем расшифровывает secure. Используйте только payload, возвращённый после успешной проверки.

rust

Основные функции

ФункцияНазначение
sync().awaitНемедленно синхронизирует сертификаты.
issue(plain, secure)Создаёт DAT с текущим сертификатом выпуска.
parse(dat)Проверяет DAT и возвращает его payload.
last_error().awaitВозвращает последнюю ошибку синхронизации.

Области данных

  • plain: байты, которые подписаны, но не зашифрованы.
  • secure: зашифрованные байты.
  • payload: доверяйте ему только после успешного выполнения parse.

Варианты помимо JSON

В примерах используется привычный JSON. Для ускорения обработки двоичные данные позволяют обойтись без сериализации и разбора JSON, одновременно уменьшая объём данных.

Храните простые значения как текст либо помещайте структурированные данные в двоичных форматах, таких как Protobuf или MessagePack, в plain и secure.

rust

Поскольку сейчас issue принимает strings, кодируйте произвольные байты в Base64Url или Hex, а после проверки декодируйте их обратно.

Сервисы только для проверки

Сервис, который не выпускает DAT, использует параметр verify-only и токен verify-only, а также вызывает только parse.

Завершение работы и ошибки

Задача автоматической синхронизации завершается после удаления последнего Arc.

Используйте коды ошибок и классификацию повторных попыток вместо сообщений об ошибках.