يفتح هذا الزر مفتاحًا خاصًا ملتفًا ثم يوقّع على الملخص الذي يقدّمه العميل.
طلب 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 |
رمز JWT صادر عن موفِّر الهوية (IdP) لتأكيد هوية المستخدم. يُرجى الاطّلاع على الرموز المميّزة للمصادقة. |
authorization |
رمز JWT يؤكّد أنّه مسموح للمستخدم بفتح مفتاح لـ |
algorithm |
الخوارزمية التي تم استخدامها لتشفير مفتاح تشفير البيانات (DEK) في تشفير المغلف. |
digest |
ملخص الرسالة بترميز Base64 ملخّص لـ |
rsa_pss_salt_length |
(اختياري) الطول العشوائي المراد استخدامه، إذا كانت خوارزمية التوقيع هي RSASSA-PSS. إذا لم تكن خوارزمية التوقيع RSASSA-PSS، سيتم تجاهل هذا الحقل. |
reason |
سلسلة JSON عبور توفّر سياقًا إضافيًا حول العملية يجب تصحيح ملف JSON المُقدَّم قبل عرضه. الحدّ الأقصى للحجم: 1 كيلوبايت. |
wrapped_private_key |
المفتاح الخاص الملفوف بترميز base64. الحدّ الأقصى للحجم: 8 كيلوبايت. يندرج تنسيق المفتاح الخاص أو المفتاح الخاص المُغطى ضمن تنفيذ خدمة قائمة التحكّم بالوصول إلى المفتاح (KACLS). في البرنامج ومن جانب Gmail، يتم التعامل مع هذه القيمة على أنها كائن ثنائي كبير (blob). |
نص الاستجابة
في حال نجاحها، تعرض هذه الطريقة توقيعًا بترميز base64.
إذا فشلت العملية، يتم عرض الرد على الخطأ المنظم.
تمثيل JSON | |
---|---|
{ "signature": string } |
الحقول | |
---|---|
signature |
توقيع بترميز 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=="
}