DAT Go ライブラリ

GitHub pkg.go.dev

インストール

bash

クイックスタート

この完全なフローでは、CMS から証明書を取得し、JSON データを含む DAT を作成して検証します。

go

手順

1. CMS に接続

発行サービスは完全な証明書用のトークンを使います。起動時にすぐ同期することで、証明書を利用できる前の発行を防ぎます。

go

2. DAT を発行

この例では公開 JSON を plain に、保護されたユーザー情報を JSON で secure に格納します。

go

3. DAT を検証

parse は有効期限と署名を確認し、secure を復号します。検証に成功した後に返されたペイロードのみを使用してください。

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 を発行しないサービスは、検証専用オプションと検証専用トークンを使い、parse だけを呼び出します。

終了とエラー

自動同期が有効な場合は、defer cms.Close() でクリーンアップを保証します。

エラーコードと再試行分類をエラーメッセージの代わりに使用します。