तरीका: 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

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

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-encoded सिग्नेचर दिखाता है.

अगर ऑपरेशन पूरा नहीं होता है, तो स्ट्रक्चर्ड गड़बड़ी वाला जवाब मिलता है.

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=="
}