DAT
الوثائق

رموز الخطأ ​

توفر تطبيقات DAT رموز خطأ مستقرة إلى جانب الرسائل المقروءة. يجب أن يقرر البرنامج سلوكه استنادًا إلى الرمز وتصنيف إعادة المحاولة من دون مقارنة نصوص الرسائل.

طريقة القراءة ​

text
DAT_<المجال>_<السبب>
البادئةالمجال
DAT_TOKEN_سلسلة DAT وانتهاء الصلاحية
DAT_CERT_سلسلة الشهادة وحالتها
DAT_SIG_التوقيع والتحقق
DAT_CRYPTO_التشفير وفك التشفير
DAT_KEY_تنسيق المفتاح وصلاحياته
DAT_MANAGER_مدير الشهادات
DAT_CONFIG_معاملات الاستدعاء والإعدادات
DAT_INTERNAL_وظائف runtime الداخلية
DAT_CMS_مزامنة عميل CMS
DAT_AUTH_, DAT_REQ_, DAT_STORE_خادم CMS

يُستخدم _UNKNOWN فقط للأخطاء التي لا يمكن تصنيفها برمز آخر داخل المجال. ويُستخدم الاسم نفسه للسبب نفسه حتى إن اختلف المجال.

تصنيف إعادة المحاولة ​

التصنيفالمعنىالمعالجة
مؤقتقد ينجح بعد تعافي الحالة الخارجيةإعادة محاولة محدودة بعد backoff
حالةقد ينجح بعد تغير مزامنة الشهادات أو الوقتتحديث الحالة المطلوبة ثم إعادة المحاولة
دائمستفشل إعادة المحاولة بنفس الإدخالتصحيح الإدخال أو الإعداد أو الشيفرة

الرمز والشهادة ​

DAT_TOKEN_MALFORMEDبلا تأثيردائم

عدد حقول DAT أو تمثيل الأعداد أو Base64Url لا يطابق المواصفة. تجاهل الإدخال.

DAT_TOKEN_EXPIREDبلا تأثيردائم

وقت انتهاء DAT يساوي الوقت الحالي أو يسبقه. يلزم الحصول على DAT جديد.

DAT_CERT_MALFORMEDبلا تأثيردائم

بنية سلسلة الشهادة أو تمثيل حقولها غير صحيح.

DAT_CERT_NOT_FOUNDبلا تأثيرحالة

لا توجد شهادة تطابق `cid` في DAT. افحص حالة مزامنة الشهادات.

DAT_CERT_NOT_SYNCEDبلا تأثيرحالة

ربما لم تصل الشهادة المطلوبة إلى الخدمة بعد. نفّذ مزامنة فورية ثم أعد التقييم.

DAT_CERT_NOT_YET_VALIDبلا تأثيرحالة

لم يأت وقت بدء الشهادة بعد. افحص وقت النظام وموعد توزيع الشهادة.

DAT_CERT_EXPIREDبلا تأثيردائم

انتهت فترة صلاحية الشهادة للتحقق.

DAT_CERT_DUPLICATEجزئيدائم

تكرر `cid` نفسه في قائمة استيراد واحدة. يُرفض الاستيراد كاملًا.

التوقيع والتشفير والمفاتيح ​

DAT_SIG_MISMATCHبلا تأثيردائمshieldمشتبه به

لا يطابق التوقيع المحتوى. قد يكون DAT قد عُدّل أو وُقّع بمفتاح آخر.

DAT_CRYPTO_TAG_MISMATCHبلا تأثيردائمshieldمشتبه به

علامة مصادقة AES-GCM غير مطابقة. افحص احتمال تعديل النص المشفّر أو عدم تطابق الشهادة.

DAT_KEY_INVALIDبلا تأثيردائم

طول المفتاح أو تنسيقه أو تركيبة الخوارزمية غير صحيحة.

DAT_SIG_KEY_MISSINGبلا تأثيردائم

جرت محاولة إصدار DAT بشهادة تحقق فقط. تحتاج خدمة الإصدار إلى شهادة كاملة.

يصنّف API العام لأحداث الأمان الخطأين DAT_SIG_MISMATCH وDAT_CRYPTO_TAG_MISMATCH على أنهما حدثان حقيقيان. لا يعني إدخال غير صالح واحد تعطل الخدمة، لكن يجب التعامل مع التكرار بوصفه حدثًا أمنيًا محتملًا.

المدير والإعدادات ​

DAT_MANAGER_NO_CERTIFICATEجزئيحالة

لا يحتوي المدير على شهادات. استورد الشهادات أو أكمل مزامنة CMS.

DAT_MANAGER_NO_ISSUABLE_CERTIFICATEجزئيحالة

توجد شهادات، لكن لا توجد شهادة كاملة قابلة للإصدار حاليًا. افحص انتهاء الصلاحية أو وقت البدء أو حالة verify-only في سلسلة الأسباب.

DAT_CONFIG_ARGUMENT_INVALIDبلا تأثيردائم

معامل الاستدعاء أو قيمة الإعداد خارج النطاق المسموح.

DAT_INTERNAL_UNAVAILABLEحرجدائم

وظيفة التشفير أو الشبكة المطلوبة غير متاحة على المنصة الحالية.

عميل CMS ​

الرمزالمعنىالمعالجة المعتادة
DAT_CMS_URI_INVALIDتنسيق CMS URI غير صالحتصحيح الإعداد
DAT_CMS_UNAUTHORIZEDفشل المصادقةتصحيح الرمز
DAT_CMS_FORBIDDENالدور لا يملك الصلاحيةفحص دور الرمز
DAT_CMS_ENDPOINT_NOT_FOUNDالمسار غير موجود أو مختلففحص عنوان CMS ومساره
DAT_CMS_NETWORKفشل الاتصال أو النقلفحص الشبكة ثم تطبيق backoff
DAT_CMS_TIMEOUTانتهاء المهلةضبط الشبكة والمهلة
DAT_CMS_SERVER_ERRORخطأ في خادم CMSفحص حالة الخادم ثم تطبيق backoff
DAT_CMS_RESPONSE_INVALIDتنسيق الاستجابة الناجحة غير صالحفحص العقد بين الخادم والعميل
DAT_CMS_VERSION_RESETتراجع إصدار الخادمفحص بيانات CMS وحالة النشر
DAT_CMS_IMPORT_FAILEDفشل تطبيق الشهادات المستلمةفحص سلسلة الأسباب
DAT_CMS_STOPPEDاستخدام مدير متوقفإنشاء مدير جديد أو تصحيح ترتيب الاستدعاءات

تحتفظ المكتبات التي تكون مزامنتها الأولية best-effort بالخطأ في حقل آخر خطأ. وإذا كان يجب أن يفشل بدء التشغيل، فاستخدم API المزامنة الفورية التي تعيد الخطأ أو ترميه مباشرة.

خادم CMS ​

الرمزHTTPالمعنى
DAT_AUTH_UNAUTHORIZED401الرمز غير موجود أو غير صالح
DAT_AUTH_FORBIDDEN403دور الرمز لا يطابق صلاحية الطلب
DAT_REQ_ALG_UNSUPPORTED400اسم خوارزمية غير مدعوم
DAT_REQ_NOT_FOUND404·405المسار أو الطريقة غير متطابقين
DAT_REQ_TOO_LARGE413رمز محجوز لتجاوز حد محتوى الطلب
DAT_STORE_UNAVAILABLE503المخزن غير متاح مؤقتًا
DAT_STORE_UNKNOWN500خطأ غير مصنف أثناء معالجة المخزن

لا تعرض العملاء حاليًا رمز الخادم في JSON غير 2xx كما هو، بل تحوّل حالة HTTP إلى رمز DAT_CMS_*. ولذلك قد يختلف رمز سجل الخادم عن رمز خطأ العميل.

طريقة الفحص حسب اللغة ​

البيئةرمز الخطأتصنيف إعادة المحاولة
Rusterr.code()err.retry()
Godat.Code(err)dat.Retry(err)
JavaScript / TypeScripterror.codeerror.retry
Pythonerror.codeerror.retry
Rubyerror.codeerror.retry
Java / Kotlinerror.codeerror.retry
C#error.Codeerror.Retry
C / C++dat_error_code(error)dat_error_retry(error)

يمكن فحص الأخطاء ذات السبب الداخلي من خلال سلسلة الاستثناءات أو API الاستعلام عن السبب في كل لغة.