الطريقة: Privatekeydecrypt

فك تشفير مفتاح خاص مغلف ثم فك تشفير مفتاح تشفير المحتوى التي يتم تشفيرها إلى المفتاح العام.

طلب HTTP

POST https://BASE_URL/privatekeydecrypt

استبدِل BASE_URL بعنوان URL الأساسي.

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

بلا عُري

نص الطلب

يحتوي نص الطلب على بيانات بالبنية التالية:

تمثيل 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="
}