إنتقل إلى المحتوى الرئيسي

طبقة 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؛ احمِ الملف بأذونات مقيّدة.

الخطوات التالية​