الطريقة: Privatekeydecrypt

يؤدي هذا الإجراء إلى فكّ تغليف مفتاح خاص مُغلَّف، ثم فكّ تشفير مفتاح تشفير المحتوى المشفّر باستخدام المفتاح العام.

طلب 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

string

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

authorization

string

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

algorithm

string

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

encrypted_data_encryption_key

string (UTF-8)

مفتاح تشفير المحتوى المشفّر بترميز Base64، والذي يتم تشفيره باستخدام المفتاح العام المرتبط بالمفتاح الخاص. الحد الأقصى للحجم: 1 كيلوبايت

rsa_oaep_label

string

التصنيف L بترميز Base64، إذا كانت الخوارزمية RSAES-OAEP إذا لم تكن الخوارزمية RSAES-OAEP، يتم تجاهل هذا الحقل.

reason

string (UTF-8)

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

wrapped_private_key

string

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

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

نص الاستجابة

في حال نجاح العملية، تعرِض هذه الطريقة مفتاح تشفير بيانات بترميز Base64.

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

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

string

مفتاح تشفير بيانات بترميز 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="
}