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

GitHub pkg.go.dev

Установка

bash

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

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

go

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

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

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

go

2. Выпуск DAT

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

go

3. Проверка DAT

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

go

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

ФункцияНазначение
Sync()Немедленно синхронизирует сертификаты.
Issue(plain, secure)Возвращает строку DAT и ошибку.
Parse(dat)Возвращает проверенный Payload и ошибку.
LastError()Возвращает последнюю ошибку синхронизации.

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

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

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

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

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

go

Строки Go могут содержать байты. Передайте срез байтов как string, а затем преобразуйте результат обратно в []byte.

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

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

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

Если включена автоматическая синхронизация, используйте defer cms.Close(), чтобы гарантировать освобождение ресурсов.

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