तरीका: Privatekeysign

यह रैप की गई निजी कुंजी को अनरैप करता है. इसके बाद, क्लाइंट से मिले डाइजेस्ट पर हस्ताक्षर करता है.

एचटीटीपी अनुरोध

POST https://KACLS_URL/privatekeysign

KACLS_URL की जगह, कुंजी ऐक्सेस कंट्रोल लिस्ट (केएसीएल) सेवा का यूआरएल डालें.

पाथ पैरामीटर

कोई नहीं.

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, इस स्ट्रक्चर का डेटा शामिल होता है:

JSON के काेड में दिखाना
{
  "authentication": string,
  "authorization": string,
  "algorithm": string,
  "digest": string,
  "rsa_pss_salt_length": integer,
  "reason": string,
  "wrapped_private_key": string
}
फ़ील्ड
authentication

string

यह आइडेंटिटी प्रोवाइडर (IdP) की ओर से जारी किया गया JWT है. इससे यह पता चलता है कि उपयोगकर्ता कौन है. पुष्टि करने वाले टोकन देखें.

authorization

string

यह एक JWT है. इससे यह पुष्टि होती है कि उपयोगकर्ता को resource_name के लिए कुंजी को अनरैप करने की अनुमति है. अनुमति देने वाले टोकन देखें.

algorithm

string

एन्वलप एन्क्रिप्शन में, डेटा एन्क्रिप्शन की (डीईके) को एन्क्रिप्ट यानी सुरक्षित करने के लिए इस्तेमाल किया गया एल्गोरिदम.

digest

string

Base64 कोड में बदला गया मैसेज डाइजेस्ट. DER एन्कोड किए गए SignedAttributes का डाइजेस्ट. इस वैल्यू में पैडिंग नहीं है. ज़्यादा से ज़्यादा साइज़: 128 बाइट.

rsa_pss_salt_length

integer

(ज़रूरी नहीं) अगर सिग्नेचर एल्गोरिदम RSASSA-PSS है, तो इस्तेमाल करने के लिए साल्ट की लंबाई. अगर सिग्नेचर एल्गोरिदम RSASSA-PSS नहीं है, तो इस फ़ील्ड को अनदेखा कर दिया जाता है.

reason

string (UTF-8)

यह एक पासथ्रू JSON स्ट्रिंग है. इससे ऑपरेशन के बारे में अतिरिक्त जानकारी मिलती है. दिखाने से पहले, दिए गए JSON को सैनिटाइज़ किया जाना चाहिए. ज़्यादा से ज़्यादा साइज़: 1 किलोबाइट.

wrapped_private_key

string

Base64 कोड में बदली गई रैप की गई निजी कुंजी. ज़्यादा से ज़्यादा साइज़: 8 किलोबाइट.

निजी कुंजी या रैप की गई निजी कुंजी का फ़ॉर्मैट, कुंजी ऐक्सेस कंट्रोल लिस्ट सर्विस (केएसीएलएस) के लागू होने पर निर्भर करता है. क्लाइंट और 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=="
}