گواهی
گواهی DAT، بازه زمانی، الگوریتمها و کلیدهای لازم برای صدور و راستیآزمایی توکن را در یک رشته نمایش میدهد.
cid.start.duration.ttl.sig-alg.crypto-alg.sig-key.crypto-keyبازه زمانی
- گواهی میتواند از
startتاstart + durationیک DAT صادر کند. هر دو لحظه انتهایی در این بازه هستند. - DAT صادرشده از زمان صدور بهمدت
ttlمعتبر است. - گواهی تا
start + duration + ttlبرای راستیآزمایی لازم است. دقیقاً در آن لحظه نیز گواهی قابل راستیآزمایی است.
اگر گواهی را بلافاصله پس از پایان دوره صدور حذف کنید، DATهای صادرشده دیگر قابل راستیآزمایی نیستند. مدیر و CMS، قابلیت صدور و قابلیت راستیآزمایی را جداگانه مدیریت میکنند.
شناسه گواهی و چرخش کلید
cid قراردادی عمومی است که کلیدها و بازه زمانی را شناسایی میکند. هرگز کلید دیگری را روی cid موجود ننویسید. برای چرخش کلید، گواهی جدیدی با cid جدید بسازید. سرویسها گواهی جدید را از پیش همگام میکنند و گواهی قبلی را پس از انقضای همه DATهای صادرشده با آن حذف میکنند.
الگوریتمهای امضا
| نام | کاربرد | گواهی فقط راستیآزمایی |
|---|---|---|
HMAC-SHA256-MFS | HMAC SHA-256 | پشتیبانی نمیشود |
HMAC-SHA384-MFS | HMAC SHA-384 | پشتیبانی نمیشود |
HMAC-SHA512-MFS | HMAC SHA-512 | پشتیبانی نمیشود |
ECDSA-P256 | ECDSA P-256 | پشتیبانی میشود |
ECDSA-P384 | ECDSA P-384 | پشتیبانی میشود |
ECDSA-P521 | ECDSA P-521 | پشتیبانی میشود |
HMAC از یک کلید برای امضا و راستیآزمایی استفاده میکند؛ بنابراین دادن کلید به سرور راستیآزمایی، امکان صدور را هم میدهد. در محیطی که باید اختیار صدور جدا باشد، از ECDSA و گواهی فقط راستیآزمایی استفاده کنید.
الگوریتمهای رمز
| نام | کلید |
|---|---|
IV-AES128-GCM | AES-128 |
IV-AES256-GCM | AES-256 |
نام الگوریتم بخشی از قرارداد سیمی است. آن را به نام مستعار مورداستفاده در JWT تغییر ندهید.
گواهی کامل و گواهی فقط راستیآزمایی
گواهی کامل ECDSA شامل کلید خصوصی لازم برای امضاست. گواهی فقط راستیآزمایی فقط کلید عمومی ECDSA را نگه میدارد، اما کلید AES لازم برای رمزگشایی secure را حفظ میکند. بنابراین سرویس فقط راستیآزمایی میتواند DAT را بررسی و رمزگشایی کند، اما قادر به صدور DAT جدید نیست.