Sertifikat ​

Sertifikat DAT menyatakan rentang waktu, algoritme, dan kunci yang diperlukan untuk menerbitkan serta memverifikasi token dalam satu string.

cid
uint64
.
start
uint64
.
duration
uint64
.
ttl
uint64
.
sig-alg
name
.
crypto-alg
name
.
sig-key
Base64Url
.
crypto-key
Base64Url
Sertifikat juga terdiri dari bidang ASCII yang dipisahkan titik dalam urutan tetap.
text
cid.start.duration.ttl.sig-alg.crypto-alg.sig-key.crypto-key

Rentang waktu ​

  • Sertifikat dapat menerbitkan DAT dari start hingga start + duration, termasuk kedua waktu batas tersebut.
  • DAT yang diterbitkan berlaku selama ttl sejak waktu penerbitannya.
  • Sertifikat diperlukan untuk verifikasi hingga start + duration + ttl. Sertifikat juga dapat memverifikasi tepat pada waktu tersebut.

Jika sertifikat langsung dihapus ketika periode penerbitan berakhir, DAT yang sudah diterbitkan tidak dapat diverifikasi. Manajer dan CMS menangani kemampuan penerbitan dan kemampuan verifikasi secara terpisah.

ID sertifikat dan rotasi kunci ​

cid adalah kontrak publik yang mengidentifikasi kunci dan rentang waktu. Jangan menimpa cid yang sudah ada dengan kunci lain. Untuk merotasi kunci, buat sertifikat baru dan gunakan cid baru. Layanan menyinkronkan sertifikat baru lebih awal, lalu menghapus sertifikat lama setelah semua DAT yang diterbitkan dengannya kedaluwarsa.

Algoritme tanda tangan ​

NamaKegunaanSertifikat khusus verifikasi
HMAC-SHA256-MFSHMAC SHA-256Tidak didukung
HMAC-SHA384-MFSHMAC SHA-384Tidak didukung
HMAC-SHA512-MFSHMAC SHA-512Tidak didukung
ECDSA-P256ECDSA P-256Didukung
ECDSA-P384ECDSA P-384Didukung
ECDSA-P521ECDSA P-521Didukung

HMAC menggunakan kunci yang sama untuk menandatangani dan memverifikasi. Karena itu, memberikan kunci kepada server pemverifikasi juga memungkinkannya menerbitkan. Pada lingkungan yang harus memisahkan kewenangan penerbitan, gunakan ECDSA dan sertifikat khusus verifikasi.

Algoritme enkripsi ​

NamaKunci
IV-AES128-GCMAES-128
IV-AES256-GCMAES-256

Nama algoritme merupakan bagian dari kontrak wire. Jangan menggantinya dengan alias yang digunakan dalam JWT.

Sertifikat lengkap dan sertifikat khusus verifikasi ​

Sertifikat ECDSA lengkap memuat kunci privat yang diperlukan untuk menandatangani. Sertifikat khusus verifikasi hanya menyimpan kunci publik ECDSA, tetapi tetap menyimpan kunci AES yang diperlukan untuk mendekripsi secure. Karena itu, layanan khusus verifikasi dapat memeriksa dan mendekripsi DAT, tetapi tidak dapat menerbitkan DAT baru.