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

التكوين

عند العمل مقابل DuoKey Cockpit، يُكوَّن مزوّد PKCS#11 عبر ملف pkcs11.toml إضافةً إلى تجاوزات اختيارية بمتغيّرات البيئة DKE_PKCS11_*. لا يحمل الملف سوى عنصرين أساسيين — عنوان وسيط Cockpit والرمز الحامل access_guid — لأن Cockpit يحلّ التطبيق والمستأجر من جانب الخادم.

المرجع المعتمد

تصف هذه الصفحة نموذج التكوين على المستوى المعماري. للاطلاع على المخطط الكامل والقيم الافتراضية وتخطيط الترحيل من v1 إلى v2، راجع تكوين مزوّد PKCS#11 (pkcs11.toml).

نظرة عامة​

ملف التكوين​

يقرأ المزوّد تكوينه عند C_Initialize من المسار الموجود في متغيّر البيئة DKE_PKCS11_CONF. يضبط Oracle هذا في ملف تعريف مستخدم Oracle (أو في غلاف OKV). المسار الشائع للتثبيت هو:

/usr/local/okv/hsm/generic/pkcs11.toml

المخطط​

# pkcs11.toml — DuoKey PKCS#11 provider configuration

[http_config]
# Full Cockpit proxy URL for this Oracle TDE app (required).
# It already contains the app identity and access_guid, so no separate
# endpoint, tenant, or credential fields are needed.
server_url = "https://cockpit.example.com/api/apps/APP_ID/tde/pkcs11/ACCESS_GUID"

# Bearer token used to authenticate every request — the app's access_guid.
access_token = "ACCESS_GUID"

# HTTP request timeout in seconds (default: 30).
timeout_secs = 30

# Verify the server's TLS certificate (default: true).
# Set to false ONLY for testing against self-signed certificates.
verify_tls = true

[pkcs11]
# Id of the single virtual slot the library presents (default: 0).
slot_id = 0

# Logging level: "error" | "warn" | "info" | "debug" | "trace" (default: "info").
logging_level = "info"

# Optional folder for provider log files (default: none — logs to stderr).
logging_folder = "/var/log/dke-pkcs11"

[http_config] — الاتصال بـ Cockpit​

المفتاحالنوعالافتراضيالغرض
server_urlنص(مطلوب)عنوان وسيط Cockpit الكامل لهذا التطبيق. يحتوي على هوية التطبيق وaccess_guid، لذا لا حاجة إلى حقول منفصلة لنقطة النهاية أو المستأجر.
access_tokenنص""الرمز الحامل المُرسَل كـ Authorization: Bearer …. بالنسبة لـ Oracle TDE، هذا هو access_guid الخاص بالتطبيق.
timeout_secsعدد صحيح30مهلة HTTP لكل طلب.
verify_tlsقيمة منطقيةtrueالتحقّق من شهادة TLS. أبقِها true في الإنتاج.

[pkcs11] — سلوك المزوّد المحلي​

المفتاحالنوعالافتراضيالغرض
slot_idعدد صحيح0معرّف الفتحة الافتراضية الوحيدة المعروضة على Oracle.
logging_levelنص"info"مستوى تفصيل سجلات المزوّد.
logging_folderنص(لا يوجد)دليل سجلات المزوّد؛ إن لم يُضبط، تذهب السجلات إلى stderr.

نموذج المصادقة​

  • بيانات اعتماد واحدة. المصادقة هي رمز حامل access_guid واحد، مُضمَّن في server_url ومُكرَّر كـ access_token. لا يوجد تدفّق OAuth2 لبيانات اعتماد العميل، ولا client_id / client_secret، ولا اسم مستخدم / كلمة مرور، ولا اكتشاف OpenID Connect.
  • لا حقل مستأجر. يحلّ Cockpit المستأجر من جانب الخادم من هوية التطبيق في العنوان — لا يوجد معرّف مستأجر أو ترويسة مستأجر على جانب العميل.
  • لا حقل Vault. يُدار الـ Vault / مخزن المفاتيح الداعم بواسطة التطبيق في Cockpit، لا من جانب العميل.
احمِ pkcs11.toml

إن access_guid في server_url / access_token هو بيان اعتماد حامل. قصر الملف على مستخدم نظام تشغيل Oracle — على سبيل المثال chmod 600، ومملوك لـ oracle — ودوّر رمز الوصول الخاص بالتطبيق من Cockpit إن تعرّض للكشف.

تجاوزات متغيّرات البيئة​

تأخذ متغيّرات البيئة الأولوية على الملف، لذا يمكنك الاحتفاظ بـ pkcs11.toml أساسي والتجاوز لكل مضيف:

متغيّر البيئةيتجاوز
DKE_PKCS11_CONFمسار ملف pkcs11.toml
DKE_PKCS11_SERVER_URLhttp_config.server_url
DKE_PKCS11_ACCESS_TOKENhttp_config.access_token
DKE_PKCS11_VERIFY_TLShttp_config.verify_tls (0 / false / no = مُعطَّل)
DKE_PKCS11_SLOT_IDpkcs11.slot_id
DKE_PKCS11_LOGGING_LEVELpkcs11.logging_level
DKE_PKCS11_LOGGING_FOLDERpkcs11.logging_folder

إن لم يُقدَّم مسار ملف، يمكن للمكتبة بناء تكوينها بالكامل من متغيّرات البيئة، شريطة ضبط عنوان الخادم ورمز الوصول على الأقل.

الحصول على القيم​

لا تجمع هذه القيم يدوياً. في Cockpit، افتح تطبيق Oracle TDE واستخدم حزمة النشر الخاصة به — يولّد Cockpit لك ملف pkcs11.toml (بعنوان server_url وaccess_guid الصحيحين)، وتصديرات البيئة، وبرامج Oracle SQL النصية لتنزيلها.

التحقّق​

تتحقّق المكتبة من التكوين أثناء التهيئة:

  • عنوان الخادم موجود وصحيح التنسيق.
  • رمز الوصول موجود.
  • عند الفشل، تُعيد التهيئة CKR_DEVICE_ERROR (اتصال / تكوين) أو CKR_PIN_INCORRECT (مصادقة).

أفضل ممارسات الأمن​

  • لا تودع أبداً ملف pkcs11.toml أو access_guid في نظام التحكّم في الإصدارات.
  • قيّد أذونات الملف على مستخدم نظام تشغيل Oracle (chmod 600).
  • دوّر رمز وصول التطبيق من Cockpit وفق جدول منتظم وفوراً إن تعرّض للكشف.
  • أبقِ verify_tls = true واستخدم TLS 1.2+ لجميع الاتصالات.

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