証明書 ​

DAT 証明書は、トークンの発行と検証に必要な期間、アルゴリズム、鍵を 1 つの文字列として表現します。

cid
uint64
.
start
uint64
.
duration
uint64
.
ttl
uint64
.
sig-alg
name
.
crypto-alg
name
.
sig-key
Base64Url
.
crypto-key
Base64Url
証明書も、ドットで区切られた固定順序の ASCII フィールドで構成されます。
text
cid.start.duration.ttl.sig-alg.crypto-alg.sig-key.crypto-key

期間 ​

  • 証明書は start から start + duration まで、両端を含めて DAT を発行できます。
  • 発行された DAT は発行時刻から ttl の間有効です。
  • 証明書は start + duration + ttl まで検証に必要で、その時刻ちょうどでも検証できます。

発行期間の終了直後に証明書を削除すると、すでに発行された DAT を検証できなくなります。マネージャーと CMS は、発行可否と検証可否を別々に扱います。

証明書 ID と鍵のローテーション ​

cid は、鍵とその期間を識別する公開契約です。既存の cid を異なる鍵で上書きしてはいけません。鍵をローテーションするには、新しい cid で新しい証明書を作成します。サービスは新しい証明書を事前に同期し、古い証明書が発行したすべての DAT が失効した後にのみそれを削除します。

署名アルゴリズム ​

名前用途検証専用証明書
HMAC-SHA256-MFSHMAC SHA-256非対応
HMAC-SHA384-MFSHMAC SHA-384非対応
HMAC-SHA512-MFSHMAC SHA-512非対応
ECDSA-P256ECDSA P-256対応
ECDSA-P384ECDSA P-384対応
ECDSA-P521ECDSA P-521対応

HMAC は同じ鍵で署名と検証を行うため、検証サーバーにその鍵を与えると発行権限も与えることになります。発行権限を分離する必要がある環境では、ECDSA と検証専用証明書を使用してください。

暗号化アルゴリズム ​

名前鍵
IV-AES128-GCMAES-128
IV-AES256-GCMAES-256

アルゴリズム名はワイヤ契約の一部です。JWT の別名に置き換えないでください。

完全な証明書と検証専用証明書 ​

完全な ECDSA 証明書には署名に必要な秘密鍵が含まれます。検証専用証明書は ECDSA 公開鍵だけを保持しますが、secure の復号に必要な AES 鍵は維持します。そのため、検証専用サービスは DAT の検証と復号はできますが、新しい DAT は発行できません。