الطريقة: 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="
}