Asset

Secara unik mengidentifikasi aset.

Aset digital adalah entitas online yang dapat diidentifikasi dan diberi alamat yang biasanya menyediakan beberapa layanan atau konten. Contoh aset adalah situs, aplikasi Android, feed Twitter, dan Halaman Plus.

Representasi JSON
{
  // Union field, only one of the following:
  "web": {
    object(WebAsset)
  },
  "androidApp": {
    object(AndroidAppAsset)
  },
}
Nama kolom Jenis Deskripsi
Kolom union, hanya salah satu dari yang berikut:
web object(WebAsset) Tetapkan jika ini adalah aset web.
androidApp object(AndroidAppAsset) Tetapkan jika ini adalah aset Aplikasi Android.

WebAsset

Menjelaskan aset web.

Representasi JSON
{
  "site": string,
}
Nama kolom Jenis Deskripsi
site string

Aset web diidentifikasi dengan URL yang hanya berisi bagian skema, nama host, dan port. Formatnya adalah

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

Nama host harus sepenuhnya memenuhi syarat: nama host harus diakhiri dengan tanda titik tunggal (".").

Hanya skema "http" dan "https" yang saat ini diizinkan.

Nomor port diberikan sebagai angka desimal, dan harus dihilangkan jika nomor port standar digunakan: 80 untuk http dan 443 untuk https.

Kami menyebut URL terbatas ini sebagai "situs". Semua URL yang memiliki skema, nama host, dan port yang sama dianggap sebagai bagian dari situs sehingga merupakan milik aset web.

Contoh: aset dengan situs https://www.google.com berisi semua URL berikut:

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

Namun tidak berisi URL berikut:

  • http://www.google.com/ (skema salah)
  • https://google.com/ (nama host tidak cocok)
  • https://www.google.com:444/ (port tidak cocok) WAJIB

AndroidAppAsset

Menjelaskan aset aplikasi Android.

Representasi JSON
{
  "packageName": string,
  "certificate": {
    object(CertificateInfo)
  },
}
Nama kolom Jenis Deskripsi
packageName string Aset Aplikasi Android secara alami diidentifikasi berdasarkan nama paket Java-nya. Misalnya, aplikasi Google Maps menggunakan nama paket com.google.android.apps.maps. WAJIB
certificate object(CertificateInfo)

Karena tidak ada penerapan global keunikan nama paket, kami juga memerlukan sertifikat penandatanganan, yang dikombinasikan dengan nama paket secara unik mengidentifikasi aplikasi.

Beberapa kunci penandatanganan aplikasi dirotasi, sehingga mungkin ditandatangani oleh kunci yang berbeda dari waktu ke waktu. Kami memperlakukan semua aset ini sebagai aset berbeda, karena kami menggunakan (nama paket, sertifikat) sebagai ID unik. Biasanya ini tidak menimbulkan masalah karena kedua versi aplikasi akan membuat pernyataan yang sama atau serupa. Namun, aset lain yang membuat pernyataan tentang aplikasi harus diperbarui saat kunci dirotasi.

(Perhatikan bahwa sintaksis untuk memublikasikan dan membuat kueri pernyataan berisi sugar sintaksis agar mudah memungkinkan Anda menentukan aplikasi yang dikenal dengan beberapa sertifikat.) WAJIB

CertificateInfo

Menjelaskan sertifikat X509.

Representasi JSON
{
  "sha256Fingerprint": string,
}
Nama kolom Jenis Deskripsi
sha256Fingerprint string

Sidik jari SHA-265 huruf besar pada sertifikat. Dari sertifikat PEM, sertifikat PEM dapat diperoleh dengan cara berikut:

$ 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

atau seperti ini:

$ 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

Dalam contoh ini, konten kolom ini adalah 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.

Jika alat ini tidak tersedia untuk Anda, Anda dapat mengonversi sertifikat PEM ke dalam format DER, menghitung hash SHA-256 dari string tersebut dan mewakili hasilnya sebagai string heksadesimal (yaitu, representasi heksadesimal huruf besar dari setiap oktet, yang dipisahkan dengan titik dua).