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 を作成して検証します。

c

手順

1. CMS に接続

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

c

2. DAT を発行

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

c

3. DAT を検証

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

c

主要関数

関数用途
dat_cms_manager_sync証明書をすぐに同期します。
dat_cms_manager_issueDAT 文字列を割り当てて返します。
dat_cms_manager_parse検証済みペイロードを割り当てて返します。
dat_cms_manager_last_error最後の同期エラーを返します。

データ領域

  • plain: 署名されるが暗号化されないバイト。
  • secure: 暗号化されたバイト。
  • payload: parse の成功後にのみ信頼してください。

JSON 以外の選択肢

例では一般的な JSON を使います。より高速に処理するには、バイナリデータを使うと JSON の直列化と解析を省き、データサイズも削減できます。

単純な値はテキストで保存するか、Protobuf や MessagePack などのバイナリ形式の構造化データを plain と secure に格納します。

c

現在の C 発行 API は NUL 終端文字列を受け取ります。任意のバイトを Base64Url または Hex でエンコードし、ペイロードの長さを使って結果を読み取ります。

検証専用サービス

DAT を発行しないサービスは、検証専用オプションと検証専用トークンを使い、parse だけを呼び出します。

終了とエラー

dat、payload、cms をそれぞれのクリーンアップ関数で解放します。

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