Asset

अलग तरीके से किसी ऐसेट की पहचान करता है.

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

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

WebAsset

वेब ऐसेट के बारे में बताता है.

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

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

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

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

फ़िलहाल, सिर्फ़ "http" और "https" स्कीम का इस्तेमाल किया जा सकता है.

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

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

उदाहरण: 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/ (पोर्ट मेल नहीं खाता) ज़रूरी

AndroidAppAsset

Android ऐप्लिकेशन ऐसेट के बारे में बताता है.

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

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

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

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

CertificateInfo

X509 सर्टिफ़िकेट के बारे में बताता है.

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

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

$ 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 हैश की गणना करें और नतीजे को हेक्सस्ट्रिंग (यानी कि हर ऑक्टेट के अपरकेस हेक्साडेसिमल निरूपणों को कोलन से अलग करके) के रूप में दिखाएं.