Asset

Secara unik mengidentifikasi aset.

Aset digital adalah entitas online yang dapat diidentifikasi dan dapat dialamatkan 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.

AsetWeb

Menjelaskan aset web.

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

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

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

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

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 dan akan menjadi 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, URL tersebut 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 DIISI
certificate object(CertificateInfo)

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

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

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

Info Sertifikat

Menjelaskan sertifikat X509.

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

Sidik jari SHA-265 huruf besar pada sertifikat. Dari sertifikat PEM, dapat diperoleh seperti ini:

$ 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 merepresentasikan hasilnya sebagai string heksadesimal (yaitu, representasi heksadesimal huruf besar dari setiap oktet, yang dipisahkan dengan titik dua).