DAT C / C++ مكتبة
GitHubالتثبيت
Until it is officially merged into vcpkg, you will need to manually install and integrate the project using this repository.
https://github.com/microsoft/vcpkg/pull/52088
version: 4.7.0
بدء سريع
يجلب هذا التدفق الكامل الشهادات من CMS، وينشئ DAT يحتوي بيانات JSON، ثم يتحقق منه.
خطوة بخطوة
1. الاتصال بـ CMS
تستخدم خدمة الإصدار رمزًا للشهادات الكاملة. وتمنع المزامنة الفورية عند بدء التشغيل الإصدار قبل توفر الشهادات.
2. إصدار DAT
يضع هذا المثال JSON عامًا في plain ومعلومات مستخدم محمية بصيغة JSON في secure.
3. التحقق من DAT
يتحقق parse من انتهاء الصلاحية والتوقيع ثم يفك تشفير secure. لا تستخدم إلا payload أعيد بعد تحقق ناجح.
الدوال الأساسية
| الدالة | الغرض |
|---|---|
dat_cms_manager_sync | يزامن الشهادات فورًا. |
dat_cms_manager_issue | يخصص string لـ DAT ويعيده. |
dat_cms_manager_parse | يخصص payload متحققًا منه ويعيده. |
dat_cms_manager_last_error | يعيد آخر خطأ في المزامنة. |
مناطق البيانات
plain: بايتات موقّعة لكنها غير مشفّرة.secure: بايتات مشفّرة.payload: لا تثق به إلا بعد نجاحparse.
خيارات غير JSON
تستخدم الأمثلة صيغة JSON المألوفة. وللمعالجة الأسرع، يمكن للبيانات الثنائية تجنب تسلسل JSON وتحليله مع تقليل حجم البيانات.
خزّن القيم البسيطة كنص، أو ضع البيانات المنظمة بصيغ ثنائية مثل Protobuf أو MessagePack داخل plain وsecure.
تقبل API الإصدار الحالية في C سلاسل منتهية بـ NUL. رمّز البايتات العشوائية بصيغة Base64Url أو Hex، واقرأ النتيجة باستخدام أطوال payload.
خدمات التحقق فقط
تستخدم الخدمة التي لا تصدر DAT خيار verify-only ورمز verify-only، ولا تستدعي إلا parse.
الإغلاق والأخطاء
حرر dat وpayload وcms بدوال التنظيف الخاصة بكل منها.
استخدم رموز الخطأ وتصنيفات إعادة المحاولة بدلًا من رسائل الخطأ.