يؤدي هذا الإجراء إلى فكّ تغليف مفتاح خاص مُغلَّف، ثم فكّ تشفير مفتاح تشفير المحتوى المشفّر باستخدام المفتاح العام.
طلب HTTP
POST https://KACLS_URL/privatekeydecrypt
استبدِل KACLS_URL بعنوان URL الخاص بـ "خدمة قائمة التحكّم بالوصول إلى مفاتيح التشفير" (KACLS).
مَعلمات المسار
بلا عُري
نص الطلب
يتضمن نص الطلب بيانات بالبنية التالية:
| تمثيل JSON | |
|---|---|
{ "authentication": string, "authorization": string, "algorithm": string, "encrypted_data_encryption_key": string, "rsa_oaep_label": string, "reason": string, "wrapped_private_key": string } |
|
| الحقول | |
|---|---|
authentication |
رمز JWT صادر عن موفِّر الهوية (IdP) يؤكّد هوية المستخدم. يمكنك الاطّلاع على رموز المصادقة. |
authorization |
رمز JWT يؤكّد أنّ المستخدم مسموح له بفكّ تغليف مفتاح لـ
|
algorithm |
الخوارزمية التي تم استخدامها لتشفير "مفتاح تشفير البيانات" (DEK) في التشفير المغلف. |
encrypted_data_encryption_key |
مفتاح تشفير المحتوى المشفّر بترميز Base64، والذي يتم تشفيره باستخدام المفتاح العام المرتبط بالمفتاح الخاص. الحد الأقصى للحجم: 1 كيلوبايت |
rsa_oaep_label |
التصنيف L بترميز Base64، إذا كانت الخوارزمية RSAES-OAEP إذا لم تكن الخوارزمية RSAES-OAEP، يتم تجاهل هذا الحقل. |
reason |
سلسلة JSON تمريرية توفّر سياقًا إضافيًا حول الـ عملية. يجب تنظيف JSON المقدَّم قبل عرضه. الحد الأقصى للحجم: 1 كيلوبايت |
wrapped_private_key |
المفتاح الخاص المُغلَّف بترميز Base64 الحد الأقصى للحجم: 8 كيلوبايت يعود تنسيق المفتاح الخاص أو المفتاح الخاص المُغلَّف إلى عملية تنفيذ "خدمة قائمة التحكّم بالوصول إلى مفاتيح التشفير" (KACLS). على جهاز العميل وفي Gmail، يتم التعامل مع هذا المفتاح على أنّه كائن ثنائي كبير غير شفاف. |
نص الاستجابة
في حال نجاح العملية، تعرِض هذه الطريقة مفتاح تشفير بيانات بترميز Base64.
في حال تعذُّر تنفيذ العملية، يتم عرض ردّ خطأ منظَّم.
| تمثيل JSON | |
|---|---|
{ "data_encryption_key": string } |
|
| الحقول | |
|---|---|
data_encryption_key |
مفتاح تشفير بيانات بترميز Base64 |
مثال
يقدّم هذا المثال نموذجًا لطلب وردّ للطريقة privatekeydecrypt.
طلب
POST https://mykacls.example.org/v1/privatekeydecrypt
{
"wrapped_private_key": "wHrlNOTI9mU6PBdqiq7EQA...",
"encrypted_data_encryption_key": "dGVzdCB3cmFwcGVkIGRlaw...",
"authorization": "eyJhbGciOi...",
"authentication": "eyJhbGciOi...",
"algorithm": "RSA/ECB/PKCS1Padding",
"reason": "decrypt"
}
الردّ
{
"data_encryption_key": "akRQtv3nr+jUhcFL6JmKzB+WzUxbkkMyW5kQsqGUAFc="
}