الطريقة: Privatekeysign

تتم إزالة تغليف المفتاح الخاص المغلف ثم يتم توقيع الملخّص الذي يقدّمه العميل.

طلب HTTP

POST https://KACLS_URL/privatekeysign

استبدِل KACLS_URL بعنوان URL الخاص بخدمة قائمة التحكّم بالوصول إلى مفاتيح التشفير (KACLS).

مَعلمات المسار

بلا عُري

نص الطلب

يتضمن نص الطلب بيانات بالبنية التالية:

تمثيل JSON
{
  "authentication": string,
  "authorization": string,
  "algorithm": string,
  "digest": string,
  "rsa_pss_salt_length": integer,
  "reason": string,
  "wrapped_private_key": string
}
الحقول
authentication

string

وهو رمز JWT صادر عن موفِّر الهوية (IdP) يؤكّد هوية المستخدم. يمكنك الاطّلاع على رموز المصادقة.

authorization

string

‫JWT يؤكّد أنّ المستخدم مسموح له بفك تشفير مفتاح resource_name. يُرجى الاطّلاع على رموز التفويض.

algorithm

string

الخوارزمية التي تم استخدامها لتشفير مفتاح تشفير البيانات (DEK) في التشفير المغلّف

digest

string

ملخّص الرسالة المشفّر باستخدام Base64 تمثّل هذه السمة الملخّص المشفّر بترميز DER SignedAttributes. هذه القيمة غير مبطّنة. الحدّ الأقصى للحجم: 128 بايت.

rsa_pss_salt_length

integer

(اختياري) طول قيمة التشفير التي سيتم استخدامها، إذا كانت خوارزمية التوقيع هي RSASSA-PSS. إذا لم تكن خوارزمية التوقيع RSASSA-PSS، سيتم تجاهل هذا الحقل.

reason

string (UTF-8)

سلسلة JSON لتمرير البيانات توفّر سياقًا إضافيًا حول العملية. يجب تنظيف ملف JSON المقدَّم قبل عرضه. الحد الأقصى للحجم: 1 كيلوبايت.

wrapped_private_key

string

المفتاح الخاص المشفَّر بترميز base64 الحد الأقصى للحجم: 8 كيلوبايت

يعود تحديد تنسيق المفتاح الخاص أو المفتاح الخاص المغلف إلى عملية تنفيذ خدمة قائمة التحكّم بالوصول إلى مفاتيح التشفير (KACLS). يتم التعامل مع هذا المحتوى على أنّه كائن ثنائي كبير غير شفاف على كل من جهاز العميل وGmail.

نص الاستجابة

في حال نجاحها، تعرض هذه الطريقة توقيعًا بترميز base64.

في حال تعذُّر تنفيذ العملية، يتم عرض ردّ خطأ منظَّم.

تمثيل JSON
{
  "signature": string
}
الحقول
signature

string

توقيع بترميز base64

مثال

يقدّم هذا المثال نموذجًا لطلب وردّ خاصين بطريقة privatekeysign.

طلب

{
  "wrapped_private_key": "wHrlNOTI9mU6PBdqiq7EQA...",
  "digest": "EOBc7nc+7JdIDeb0DVTHriBAbo/dfHFZJgeUhOyo67o=",
  "authorization": "eyJhbGciOi...",
  "authentication": "eyJhbGciOi...",
  "algorithm": "SHA256withRSA",
  "reason": "sign"
}

الردّ

{
  "signature": "LpyCSy5ddy82PIp/87JKaMF4Jmt1KdrbfT1iqpB7uhVd3OwZiu+oq8kxIzB7Lr0iX4aOcxM6HiUyMrGP2PG8x0HkpykbUKQxBVcfm6SLdsqigT9ho5RYw20M6ZXNWVRetFSleKex4SRilTRny38e2ju/lUy0KDaCt1hDUT89nLZ1wsO3D1F3xk8J7clXv5fe7GPRd1ojo82Ny0iyVO7y7h1lh2PACHUFXOMzsdURYFCnxhKAsadccCxpCxKh5x8p78PdoenwY1tnT3/X4O/4LAGfT4fo98Frxy/xtI49WDRNZi6fsL6BQT4vS/WFkybBX9tXaenCqlRBDyZSFhatPQ=="
}