طبقة DuoKey SDK
تتولّى طبقة DuoKey SDK جميع الاتصالات مع DuoKey Cockpit. تنقل كل عملية PKCS#11 إلى Cockpit عبر HTTPS، وترفق رمز المصادقة، وتتولّى إعادة المحاولات وإعادة استخدام الاتصال.
مرجع API: إن بروتوكول الاتصال الفعلي — نقاط النهاية وصيغ الطلب/الاستجابة — داخلي وموثّق بشكل منفصل في وثائق المطوّرين. هذه الصفحة عرض عالي المستوى لمسؤوليات هذه الطبقة.
نظرة عامة
المسؤوليات
المصادقة
تستخدم المصادقة مع DuoKey Cockpit رمزاً حاملاً واحداً access_guid. يشكّل الرمز جزءاً من عنوان وسيط Cockpit المكوّن لتطبيق Oracle TDE، ويُرسَل كترويسة Authorization: Bearer … في كل طلب.
لا يوجد تدفّق OAuth2 لبيانات اعتماد العميل، ولا client_id / client_secret، ولا اسم مستخدم / كلمة مرور، ولا ترويسة مستأجر على جانب العميل. يحلّ Cockpit المستأجر من جانب الخادم من هوية التطبيق المُضمَّنة في العنوان.
تدفّق المصادقة:
التكوين: يُقدَّم الرمز عبر pkcs11.toml (أو تجاوز DKE_PKCS11_ACCESS_TOKEN). راجع التكوين.
عميل HTTPS
يرسل الطلبات إلى نقطة نهاية وسيط DuoKey Cockpit. تصبح كل عملية PKCS#11 طلباً واحداً يُرسَل مع الرمز الحامل؛ ثم تُحلَّل الاستجابة لتعود إلى نتيجة PKCS#11. على المستوى المفاهيمي، تنقسم العمليات إلى مجموعتين:
- إدارة المفاتيح — توفير مفتاح رئيسي، والاستعلام عن معلومات المفتاح.
- التغليف / فك التغليف — تغليف وفك تغليف مفاتيح الجداول ومساحات الجداول تحت المفتاح الرئيسي.
معالجة الطلب / الاستجابة
تسلسل هذه الطبقة الطلب الصادر، وترفق الترويسات والرمز الحامل، وترسله عبر HTTPS، وتحلّل الاستجابة.
معالجة الأخطاء: تترجم الطبقة أخطاء Cockpit والنقل إلى رموز إرجاع PKCS#11 المناسبة، بحيث يرى Oracle TDE نتائج Cryptoki القياسية — على سبيل المثال، يظهر فشل المصادقة كخطأ مصادقة، وكائن مفقود كخطأ مقبض غير صالح، وأعطال الخلفية أو الشبكة كخطأ جهاز.
منطق إعادة المحاولة
تُعاد محاولة حالات الفشل العابرة مع تراجع أسّي.
قابلة لإعادة المحاولة: انتهاءات مهلة الشبكة، 503 Service Unavailable، 502 Bad Gateway، أخطاء الاتصال.
غير قابلة لإعادة المحاولة: 401 Unauthorized (مصادقة)، 404 Not Found (كائن مفقود)، 400 Bad Request (معاملات غير صالحة).
التكوين: تُضبط مهلة كل طلب بواسطة timeout_secs في pkcs11.toml (الافتراضي 30 ثانية). راجع التكوين.
إعادة استخدام الاتصال
- الإبقاء على الاتصال (Keep-alive): تُعاد استخدام اتصالات HTTPS عبر الطلبات لتجنّب تكرار مصافحات TCP/TLS.
- TLS: تستخدم جميع الاتصالات TLS 1.2+ مع تحقّق صارم من الشهادة (يتحكّم فيه
verify_tls).
معالجة الأخطاء
يُعيد Cockpit خطأً منظّماً عند الفشل؛ تحلّله طبقة SDK وتربطه برمز إرجاع PKCS#11.
اعتبارات الأمن
TLS
- الحد الأدنى للإصدار: TLS 1.2+
- التحقّق من الشهادة: صارم؛
verify_tls = trueفي الإنتاج - مجموعات الشيفرات: مجموعات قوية فقط
معالجة بيانات الاعتماد
- بيان اعتماد واحد: الرمز الحامل
access_guidهو السر الوحيد على جانب العميل. - لا تسجيل: لا يُسجَّل الرمز أبداً.
- يُقدَّم في وقت التشغيل: عبر
pkcs11.tomlأو تجاوز متغيّر البيئةDKE_PKCS11_ACCESS_TOKEN؛ احمِ الملف بأذونات مقيّدة.
الخطوات التالية
- ربط مقابض الكائنات ← - افهم كيفية ربط المقابض بمعرّفات المفاتيح
- تدفّق الاتصال ← - شاهد أنماط الاتصال من طرف إلى طرف
- التكوين ← - تعلّم عن تكوين pkcs11.toml