सुरक्षित की गई वैल्यू और उसे डिक्रिप्ट करने के लिए ज़रूरी सभी मेटाडेटा.
| JSON के काेड में दिखाना |
|---|
{ "encryptedValue": string, "encapsulatedKey": string, "signature": string, "recipientKeyId": string } |
| फ़ील्ड | |
|---|---|
encryptedValue |
base64 कोड में बदली गई, एन्क्रिप्ट (सुरक्षित) की गई वैल्यू. ज़्यादा से ज़्यादा साइज़: 65,536 बाइट. |
encapsulatedKey |
Base64 से कोड में बदली गई वह कुंजी जिसका इस्तेमाल एन्क्रिप्ट (सुरक्षित) की गई वैल्यू को एन्क्रिप्ट (सुरक्षित) करने के लिए किया गया था. |
signature |
यह सादे टेक्स्ट वाली वैल्यू का base64 कोड में बदला गया सिग्नेचर होता है. इसमें, पाने वाले व्यक्ति की सार्वजनिक एन्क्रिप्शन कुंजी जोड़ी जाती है. जब इसे डिवाइस से भेजा जाता है, तो यह ProofOfOwnership फ़ॉर्मैट में COSE_Sign1 ऑब्जेक्ट होता है. इस फ़ॉर्मैट में "चैलेंज", SHA-256(प्लेनटेक्स्ट + पाने वाले का सार्वजनिक पासकोड) होगा. जब इसे जारी करने वाला व्यक्ति भेजता है, तब यह एक स्टैंडर्ड COSE_Sign1 ऑब्जेक्ट होता है. इसमें पेलोड = SHA-256(प्लेनटेक्स्ट + पाने वाले का सार्वजनिक पासकोड) होता है. मालिकाना हक की पुष्टि के बारे में ज़्यादा जानकारी के लिए: https://developer.android.com/reference/android/security/identity/IdentityCredential#proveOwnership(byte[]) |
recipientKeyId |
यह ईमेल पाने वाले व्यक्ति की सार्वजनिक पासकोड का आईडी होता है. ईमेल भेजने वाले व्यक्ति ने इस आईडी का इस्तेमाल करके, डेटा को एन्क्रिप्ट यानी सुरक्षित किया था. यह वैल्यू, अपर-केस हेक्स एन्कोडिंग में सर्टिफ़िकेट का सीरियल नंबर होती है. यह इनकैप्सुलेट की गई कुंजी का आईडी नहीं है. डिवाइस यह पुष्टि करेगा कि यह कुंजी आईडी, डिक्रिप्ट करने के लिए इस्तेमाल की जा रही कुंजी के आईडी से मेल खाता है. |