Asset

يحدد مادة العرض بشكل فريد.

مادة العرض الرقمية هي كيان يمكن التعرّف عليه ويمكن التعرّف عليه ويمكن الوصول إليه على الإنترنت عادةً ما يقدّم بعض الخدمات أو المحتوى. ومن أمثلة مواد العرض مواقع الويب وتطبيقات Android وخلاصات Twitter وصفحات Plus.

تمثيل JSON
{
  // Union field, only one of the following:
  "web": {
    object(WebAsset)
  },
  "androidApp": {
    object(AndroidAppAsset)
  },
}
اسم الحقل النوع الوصف
حقل الاتحاد، أي واحد مما يلي:
web object(WebAsset) تعيين ما إذا كانت مادة عرض الويب هذه.
androidApp object(AndroidAppAsset) تعيين ما إذا كانت مادة عرض تطبيق Android هذه.

مادة عرض الويب

وصف مادة عرض على الويب

تمثيل JSON
{
  "site": string,
}
اسم الحقل النوع الوصف
site string

يتم تحديد مواد عرض الويب من خلال عنوان URL يحتوي على المخطط واسم المضيف وأجزاء المنافذ فقط. التنسيق هو

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

يجب أن تكون أسماء المضيف مؤهلة بالكامل: يجب أن تنتهي بنقطة واحدة (".").

يُسمح حاليًا فقط بالمخططين "http" و"https".

يتم تقديم أرقام المنافذ كأرقام عشرية، ويجب حذفها إذا تم استخدام أرقام المنافذ القياسية: 80 لـ http و443 لـ https.

ونُطلق على عنوان URL المحدود هذا اسم "الموقع الإلكتروني". يتم اعتبار جميع عناوين URL التي تتشارك في نفس المخطَّط واسم المضيف والمنفذ جزءًا من الموقع الإلكتروني ولذلك تنتمي إلى مادة عرض الويب.

مثال: تحتوي مادة العرض التي تحتوي على الموقع https://www.google.com على جميع عناوين URL التالية:

  • 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/

ولكن لا يحتوي على عناوين URL التالية:

  • http://www.google.com/ (مخطط خاطئ)
  • https://google.com/ (اسم المضيف غير مطابق)
  • https://www.google.com:444/ (المنفذ غير متطابق) مطلوب

مادة عرض AndroidApp

وصف مادة عرض تطبيق Android.

تمثيل JSON
{
  "packageName": string,
  "certificate": {
    object(CertificateInfo)
  },
}
اسم الحقل النوع الوصف
packageName string يتم التعرُّف على مواد عرض تطبيقات Android بشكل طبيعي من خلال اسم حزمة جافا. على سبيل المثال، يستخدم تطبيق "خرائط Google" اسم الحزمة com.google.android.apps.maps. مطلوب
certificate object(CertificateInfo)

ونظرًا لعدم وجود تفرُّد عالمي عن تفرُّد اسم الحزمة، نتطلب أيضًا شهادة توقيع تحدد اسم التطبيق بشكل فريد مع اسم الحزمة.

يتم تدوير مفاتيح توقيع بعض التطبيقات، لذا قد يتم توقيعها باستخدام مفاتيح مختلفة بمرور الوقت. ونحن نتعامل مع هذه الأصول على أنها مواد عرض متميزة، لأننا نستخدم (اسم الحزمة، والشهادة) كمعرّف فريد. من المفترض ألا يتسبب هذا في حدوث أية مشكلات، نظرًا لأن كلا الإصدارين من التطبيق سيصدران نفس العبارات أو عبارات مشابهة. ومع ذلك، يجب تحديث مواد العرض الأخرى التي تقدم بيانات عن التطبيق عند تغيير مفتاح.

(لاحظ أن تركيبات النشر وطلب البحث عن العبارات تحتوي على السكر النحوي لتتيح لك تحديد التطبيقات المعروفة بشهادات متعددة.) مطلوب

معلومات الشهادة

يصف شهادة X509.

تمثيل JSON
{
  "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 لتلك السلسلة وتمثيل النتيجة كسلسلة سداسية عشرية (بمعنى التمثيل السداسي العشري الكبير لكل ثُمانية، مفصولة بعلامات النقطتين).