DAT C / C++ ライブラリ
GitHubインストール
Until it is officially merged into vcpkg, you will need to manually install and integrate the project using this repository.
https://github.com/microsoft/vcpkg/pull/52088
version: 4.7.0
クイックスタート
この完全なフローでは、CMS から証明書を取得し、JSON データを含む DAT を作成して検証します。
手順
1. CMS に接続
発行サービスは完全な証明書用のトークンを使います。起動時にすぐ同期することで、証明書を利用できる前の発行を防ぎます。
2. DAT を発行
この例では公開 JSON を plain に、保護されたユーザー情報を JSON で secure に格納します。
3. DAT を検証
parse は有効期限と署名を確認し、secure を復号します。検証に成功した後に返されたペイロードのみを使用してください。
主要関数
| 関数 | 用途 |
|---|---|
dat_cms_manager_sync | 証明書をすぐに同期します。 |
dat_cms_manager_issue | DAT 文字列を割り当てて返します。 |
dat_cms_manager_parse | 検証済みペイロードを割り当てて返します。 |
dat_cms_manager_last_error | 最後の同期エラーを返します。 |
データ領域
plain: 署名されるが暗号化されないバイト。secure: 暗号化されたバイト。payload:parseの成功後にのみ信頼してください。
JSON 以外の選択肢
例では一般的な JSON を使います。より高速に処理するには、バイナリデータを使うと JSON の直列化と解析を省き、データサイズも削減できます。
単純な値はテキストで保存するか、Protobuf や MessagePack などのバイナリ形式の構造化データを plain と secure に格納します。
現在の C 発行 API は NUL 終端文字列を受け取ります。任意のバイトを Base64Url または Hex でエンコードし、ペイロードの長さを使って結果を読み取ります。
検証専用サービス
DAT を発行しないサービスは、検証専用オプションと検証専用トークンを使い、parse だけを呼び出します。
終了とエラー
dat、payload、cms をそれぞれのクリーンアップ関数で解放します。
エラーコードと再試行分類をエラーメッセージの代わりに使用します。