تتم إزالة تغليف المفتاح الخاص المغلَّف ثم يتم توقيع الملخّص الذي يقدّمه العميل.
طلب HTTP
POST https://KACLS_URL/privatekeysign
استبدِل KACLS_URL بعنوان URL الخاص بخدمة قائمة التحكّم بالوصول إلى مفاتيح التشفير (KACLS).
مَعلمات المسار
بلا عُري
نص الطلب
يتضمن نص الطلب بيانات بالبنية التالية:
| تمثيل 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 الملخّص المشفّر بترميز DER
|
rsa_pss_salt_length |
(اختياري) طول قيمة التمليح المطلوب استخدامها، إذا كانت خوارزمية التوقيع هي RSASSA-PSS. إذا لم تكن خوارزمية التوقيع RSASSA-PSS، سيتم تجاهل هذا الحقل. |
reason |
سلسلة JSON لتمرير البيانات توفّر سياقًا إضافيًا حول العملية. يجب تنظيف ملف JSON المقدَّم قبل عرضه. الحد الأقصى للحجم: 1 كيلوبايت. |
wrapped_private_key |
المفتاح الخاص المشفَّر بترميز base64 الحد الأقصى للحجم: 8 كيلوبايت يعود تحديد تنسيق المفتاح الخاص أو المفتاح الخاص المغلف إلى عملية تنفيذ خدمة قائمة التحكّم بالوصول إلى مفاتيح التشفير (KACLS). يتم التعامل مع هذه البيانات على أنّها مجموعة غير شفافة من البيانات الثنائية الكبيرة (BLOB) على كل من جهاز العميل وGmail. |
نص الاستجابة
في حال نجاحها، تعرض هذه الطريقة توقيعًا بترميز 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=="
}