DAT Rust ライブラリ
GitHub crates.ioインストール
toml
クイックスタート
この完全なフローでは、CMS から証明書を取得し、JSON データを含む DAT を作成して検証します。
rust
手順
1. CMS に接続
発行サービスは完全な証明書用のトークンを使います。起動時にすぐ同期することで、証明書を利用できる前の発行を防ぎます。
rust
2. DAT を発行
この例では公開 JSON を plain に、保護されたユーザー情報を JSON で secure に格納します。
rust
3. DAT を検証
parse は有効期限と署名を確認し、secure を復号します。検証に成功した後に返されたペイロードのみを使用してください。
rust
主要関数
| 関数 | 用途 |
|---|---|
sync().await | 証明書をすぐに同期します。 |
issue(plain, secure) | 現在の発行証明書で DAT を作成します。 |
parse(dat) | DAT を検証してペイロードを返します。 |
last_error().await | 最後の同期エラーを返します。 |
データ領域
plain: 署名されるが暗号化されないバイト。secure: 暗号化されたバイト。payload:parseの成功後にのみ信頼してください。
JSON 以外の選択肢
例では一般的な JSON を使います。より高速に処理するには、バイナリデータを使うと JSON の直列化と解析を省き、データサイズも削減できます。
単純な値はテキストで保存するか、Protobuf や MessagePack などのバイナリ形式の構造化データを plain と secure に格納します。
rust
issue は現在文字列を受け取るため、任意のバイトを Base64Url または Hex でエンコードし、検証後に再度デコードします。
検証専用サービス
DAT を発行しないサービスは、検証専用オプションと検証専用トークンを使い、parse だけを呼び出します。
終了とエラー
最後の Arc が drop されると自動同期タスクは終了します。
エラーコードと再試行分類をエラーメッセージの代わりに使用します。