DAT CMS
DAT CMS سرویسی اختیاری است که گواهیها را ایجاد و نگهداری کرده و به مدیر کلاینت میرساند. این سند قرارداد همگامسازی میان کلاینت و سرور را شرح میدهد. برای نصب و بهرهبرداری به راهنمای سرویس DAT CMS مراجعه کنید.
endpointها بر اساس نقش
| نقش | مسیر | کاربرد |
|---|---|---|
| دریافت گواهی کامل | GET /v1/certs?version=<n> | سرویسهای صادرکننده DAT |
| دریافت گواهی فقط راستیآزمایی | GET /v1/certs/verify-only?version=<n> | سرویسهای فقط راستیآزمایی و رمزگشایی |
| ثبت گواهی | POST /v1/cert/{signature}/{crypto}/{propagation}/{issuance}/{ttl} | مدیر یا کار ایجاد گواهی |
دریافت کامل و دریافت فقط راستیآزمایی میتوانند با نقشهای توکن متفاوت محافظت شوند. برای اینکه سرویس فقط راستیآزمایی، گواهی کامل نخواهد، گزینه verifyOnly مدیر کلاینت را تنظیم کنید.
مکاننمای نسخه
کلاینت آخرین نسخه اعمالشده را به سرور میفرستد. اگر وضعیت سرور یکسان باشد، نیازی به ارسال دوباره گواهیها نیست. اگر وضعیت جدیدی وجود داشته باشد، خط اول شامل نسخه و خطهای بعدی شامل گواهیهاست.
اگر پاسخ موفق فقط نسخه داشته باشد و گواهیای نداشته باشد، گواهیها و صادرکننده موجود حفظ میشوند. پاسخی که نسخه سرور در آن کمتر از نسخه کلاینت باشد، وضعیت را عقب نمیبرد و بهعنوان خطا پردازش میشود.
قواعد اعمال گواهی
- اگر
cidیکسانی در پاسخ تکرار شود، کل پاسخ رد میشود. - اگر
cidموجود باcidپاسخ جدید یکسان باشد، گواهی موجود حفظ میشود. - پس از تجزیه و راستیآزمایی همه گواهیها، وضعیت بهصورت یکجا اعمال میشود.
- وضعیتی که فقط برخی گواهیهایش موفق بودهاند باقی نمیماند.
- از میان گواهیهای قابل صدور در زمان فعلی، گواهی مناسب بهعنوان صادرکننده انتخاب میشود.
همگامسازی اولیه و دستی
اولین همگامسازی هنگام ساخت مدیر کلاینت عموماً best-effort است. حتی در صورت شکست، مدیر ساخته و آخرین خطای دقیق نگهداری میشود. اگر باید راهاندازی برنامه نیز ناموفق شود، API همگامسازی فوری کتابخانه را فراخوانی کنید تا خطا به فراخواننده برگردد.
محیطی که همگامسازی خودکار ندارد، میتواند interval را غیرفعال کند و در زمان لازم دستی همگام شود. در صورت استفاده از همگامسازی خودکار، هنگام خاتمه برنامه مدیر را ببندید یا متوقف کنید.
شبکه و خطاها
مهلت اتصال و کل درخواست را متناسب با محیط عملیاتی تنظیم کنید. چون سیاست redirect در هر runtime متفاوت است، مستندات کتابخانه را بخوانید. پاسخ non-2xx از CMS در کلاینتهای فعلی به خطای DAT_CMS_* مطابق وضعیت HTTP طبقهبندی میشود و کد جزئی خطای JSON سرور را عیناً حفظ نمیکند.
در اختلال موقت مخزن، سرور میتواند آخرین snapshot موفق گواهیها را ارائه کند. اگر هنوز snapshot موفقی وجود نداشته باشد، با DAT_STORE_UNAVAILABLE پاسخ میدهد.
مستندات سرویس
ادامه توضیحات استقرار، پایگاه داده، توکنهای دسترسی و پیکربندی اجرا در راهنمای سرویس DAT CMS آمده است.