الطريقة: 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 هذه القيمة غير مُوسّعة. الحد الأقصى للحجم: 128 بايت

rsa_pss_salt_length

integer

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

reason

string (UTF-8)

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

wrapped_private_key

string

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

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

نص الاستجابة

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