الطريقة: Privatekeysign

يفتح هذا الزر مفتاحًا خاصًا ملتفًا ثم يوقّع على الملخص الذي يقدّمه العميل.

طلب HTTP

POST https://BASE_URL/privatekeysign

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

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

بلا عُري

نص الطلب

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

تمثيل 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 ملخّص لـ SignedAttributes بترميز DER. هذه القيمة غير مُضافة. الحد الأقصى للحجم: 128B

rsa_pss_salt_length

integer

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

reason

string (UTF-8)

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

wrapped_private_key

string

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

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

نص الاستجابة

في حال نجاحها، تعرض هذه الطريقة توقيعًا بترميز 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=="
}