Asset

एसेट की खास तौर पर पहचान करता है.

डिजिटल एसेट, एक ऐसी ऑनलाइन इकाई है जिसे आसानी से पहचाना जा सकता है. साथ ही, इसमें कुछ सेवा या कॉन्टेंट भी मौजूद होता है. एसेट के उदाहरणों में वेबसाइट, Android ऐप्लिकेशन, Twitter फ़ीड, और Plus पेज शामिल हैं.

जेएसओएन के काेड में दिखाना
{
  // Union field, only one of the following:
  "web": {
    object(WebAsset)
  },
  "androidApp": {
    object(AndroidAppAsset)
  },
}
फ़ील्ड का नाम टाइप ब्यौरा
यूनियन फ़ील्ड, इनमें से सिर्फ़ एक:
web object(WebAsset) सेट करें कि यह वेब एसेट है या नहीं.
androidApp object(AndroidAppAsset) सेट करें कि यह एक Android ऐप्लिकेशन एसेट है या नहीं.

वेब एसेट

किसी वेब एसेट के बारे में बताता है.

जेएसओएन के काेड में दिखाना
{
  "site": string,
}
फ़ील्ड का नाम टाइप ब्यौरा
site string

वेब एसेट की पहचान ऐसे यूआरएल से की जाती है जिसमें सिर्फ़ स्कीम, होस्टनेम, और पोर्ट के हिस्से होते हैं. इसका फ़ॉर्मैट

http[s]://<hostname>[:<port>]

होस्टनेम पूरी तरह से क्वालिफ़ाइड होने चाहिए: ये एक ही अवधि (".") पर खत्म होने चाहिए.

फ़िलहाल, सिर्फ़ "http" और "https" स्कीम की अनुमति है.

पोर्ट नंबर, दशमलव के तौर पर दिए जाते हैं. अगर पोर्ट के मानक नंबरों का इस्तेमाल किया जाता है, तो इन्हें छोड़ना होगा: एचटीटीपी के लिए 80 और https के लिए 443.

इस सीमित URL को हम "साइट" कहते हैं. एक ही स्कीम, होस्टनेम, और पोर्ट का इस्तेमाल करने वाले सभी यूआरएल को साइट का हिस्सा माना जाता है. इसलिए, वे वेब एसेट से जुड़े होते हैं.

उदाहरण: https://www.google.com साइट वाली एसेट में ये सभी यूआरएल शामिल हैं:

  • https://www.google.com/
  • https://www.google.com:443/
  • https://www.google.com/foo
  • https://www.google.com/foo?bar
  • https://www.google.com/foo#bar
  • https://user@password:www.google.com/

हालांकि, इसमें ये यूआरएल शामिल नहीं हैं:

  • http://www.google.com/ (गलत योजना)
  • https://google.com/ (होस्टनेम मेल नहीं खाता है)
  • https://www.google.com:444/ (पोर्ट मेल नहीं खाता है) ज़रूरी

Android ऐप्लिकेशन एसेट

Android ऐप्लिकेशन एसेट की जानकारी देता है.

जेएसओएन के काेड में दिखाना
{
  "packageName": string,
  "certificate": {
    object(CertificateInfo)
  },
}
फ़ील्ड का नाम टाइप जानकारी
packageName string Android ऐप्लिकेशन एसेट की पहचान, उनके Java पैकेज के नाम से होती है. उदाहरण के लिए, Google Maps ऐप्लिकेशन पैकेज के नाम com.google.android.apps.maps का इस्तेमाल करता है. ज़रूरी है
certificate object(CertificateInfo)

दुनिया भर में पैकेज के नाम की खासियत लागू नहीं की जाती. इसलिए, हमें हस्ताक्षर के सर्टिफ़िकेट की भी ज़रूरत है. यह सर्टिफ़िकेट, ऐप्लिकेशन के पैकेज के नाम के साथ अलग से होता है.

कुछ ऐप्लिकेशन के साइनिंग पासकोड को घुमाया जाता है, इसलिए समय के साथ उन पर अलग-अलग बटन से हस्ताक्षर किए जा सकते हैं. हम इन्हें अलग-अलग एसेट मानते हैं, क्योंकि हम इनका इस्तेमाल (पैकेज का नाम, सर्टिफ़िकेट) खास आईडी के तौर पर करते हैं. आम तौर पर, इससे कोई समस्या नहीं होती. ऐसा इसलिए होता है, क्योंकि ऐप्लिकेशन के दोनों वर्शन से एक जैसे या मिलते-जुलते स्टेटमेंट बनेंगे. हालांकि, किसी कुंजी को घुमाने पर, ऐप्लिकेशन के बारे में स्टेटमेंट देने वाली दूसरी एसेट को अपडेट करना होगा.

(ध्यान दें कि स्टेटमेंट के लिए पब्लिश और क्वेरी करने के सिंटैक्स में सिंटैक्स सिंटैक्स शुगर होती है, ताकि आप आसानी से ऐसे ऐप्लिकेशन तय कर सकें जो एक से ज़्यादा सर्टिफ़िकेट से जाने जाते हैं.) ज़रूरी है

सर्टिफ़िकेट की जानकारी

X509 सर्टिफ़िकेट की जानकारी देता है.

जेएसओएन के काेड में दिखाना
{
  "sha256Fingerprint": string,
}
फ़ील्ड का नाम टाइप ब्यौरा
sha256Fingerprint string

सर्टिफ़िकेट का अपरकेस SHA-265 फ़िंगरप्रिंट. PEM सर्टिफ़िकेट से, इसे इस तरह से हासिल किया जा सकता है:

$ keytool -printcert -file $CERTFILE | grep SHA256:
SHA256: 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \
    42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5

या इस तरह:

$ openssl x509 -in $CERTFILE -noout -fingerprint -sha256
SHA256 Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64: \
    16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5

इस उदाहरण में, इस फ़ील्ड का कॉन्टेंट 14:6D:E9:83:C5:73: 06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF: 44:E5 होगा.

अगर ये टूल आपके लिए उपलब्ध नहीं हैं, तो PEM सर्टिफ़िकेट को DER फ़ॉर्मैट में बदला जा सकता है और उस स्ट्रिंग के SHA-256 हैश का हिसाब लगाया जा सकता है. इसके बाद, नतीजे को हेक्सस्ट्रिंग के तौर पर दिखाया जा सकता है. इसका मतलब है कि हर ऑक्टेट को अपरकेस में हेक्साडेसिमल स्ट्रिंग कोलन से अलग किया गया है.