Method: vdc.provisionMobileSecurityObjects

Endpoint untuk menyediakan kredensial.

Permintaan HTTP

POST https://example.issuer.com/api/v1/vdc/provisionMobileSecurityObjects

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi JSON
{
  "requestMetadata": {
    object (RequestMetadata)
  },
  "deviceReferenceId": string,
  "credentialId": string,
  "authKeys": [
    {
      object (AuthKey)
    }
  ],
  "proofOfProvisioning": {
    object (ProofOfProvisioning)
  },
  "deviceEncryptionKey": {
    object (DeviceEncryptionKey)
  },
  "credentialVersionId": string
}
Kolom
requestMetadata

object (RequestMetadata)

Metadata tentang permintaan, yang diperlukan dalam semua permintaan.

deviceReferenceId

string

ID yang sesuai dengan perangkat dan kunci identitas yang terkait dengan perangkat. ID ini BUKAN ID perangkat, artinya jika pengguna memiliki dua kredensial terpisah di perangkat yang sama, ID ini akan berbeda di antara keduanya.

ID ini diberikan di semua permintaan, dan dapat digunakan untuk mengorelasikan permintaan.

credentialId

string

ID non-transparan yang merepresentasikan kredensial tertentu yang disediakan untuk perangkat.

Contoh: UUID

authKeys[]

object (AuthKey)

Daftar sertifikat x509 yang perlu disertifikasi, sehingga dapat digunakan sebagai objek keamanan seluler. Setiap sertifikat ditandatangani oleh kunci kredensial perangkat.

proofOfProvisioning

object (ProofOfProvisioning)

Objek dari perangkat yang membuktikan bahwa kredensial telah disediakan dengan benar. Lihat definisi objek untuk mengetahui detail selengkapnya tentang struktur ini.

Catatan: Objek ini hanya diberikan saat objek keamanan seluler disediakan pertama kali setelah kredensial disediakan. Jika metode ini digunakan untuk refresh MSO, ID ini tidak akan diberikan.

deviceEncryptionKey

object (DeviceEncryptionKey)

Objek yang berisi kunci enkripsi sementara perangkat dan metadata terkait. Kunci ini digunakan untuk mengenkripsi nilai kembali ke perangkat. Objek ini mungkin tidak disediakan di lingkungan sandbox selama proses aktivasi, yang menunjukkan bahwa penerbit harus menampilkan data teks biasa. Setelan ini harus selalu ditetapkan di lingkungan produksi.

credentialVersionId

string

ID versi kredensial yang saat ini dimiliki perangkat. Objek ini TIDAK BOLEH digunakan untuk menyediakan objek keamanan seluler untuk kredensial versi lama. Jika tidak cocok dengan versi terbaru yang disediakan dalam catatan penerbit, ErrorResponse dengan InvalidState harus ditampilkan.

Isi respons

Respons yang berisi hasil penyediaan objek keamanan seluler.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "responseMetadata": {
    object (ResponseMetadata)
  },
  "mobileSecurityObjects": [
    {
      object (MobileSecurityObject)
    }
  ]
}
Kolom
responseMetadata

object (ResponseMetadata)

Metadata tentang respons, yang diperlukan dalam semua respons.

mobileSecurityObjects[]

object (MobileSecurityObject)

Daftar MobileSecurityObject yang siap. Daftar ini mungkin kosong jika tidak ada MobileSecurityObject yang siap saat ini.

AuthKey

Sertifikat x509, yang ditandatangani oleh kunci kredensial perangkat, yang akan disertifikasi oleh penerbit.

Kunci ini diambil oleh wallet dari Android Identity Credential API, dan didokumentasikan lebih lanjut di https://developer.android.com/reference/android/security/identity/IdentityCredential#getAuthKeysNeedingCertification()

Representasi JSON
{

  // Union field presencetype can be only one of the following:
  "encryptedData": {
    object (EncryptedData)
  },
  "unencryptedValue": string
  // End of list of possible types for union field presencetype.
}
Kolom
Kolom union presencetype. Oneof yang menunjukkan cara AuthKey ditampilkan. presencetype hanya dapat berupa salah satu dari berikut:
encryptedData

object (EncryptedData)

Nilai terenkripsi dan metadata enkripsi yang diperlukan untuk mendekripsi nilai.

unencryptedValue

string

Nilai AuthKey yang dienkode base64.

ProofOfProvisioning

Struktur COSE_Sign1, yang ditandatangani oleh kunci kredensial perangkat, yang membuktikan bahwa kredensial terkait telah disediakan dengan benar ke penyimpanan aman di perangkat.

Struktur ini ditentukan oleh Android Identity Credential API, dan didokumentasikan lebih lanjut di https://developer.android.com/reference/android/security/identity/WritableIdentityCredential#personalize(android.security.identity.PersonalizationData)

Representasi JSON
{

  // Union field presencetype can be only one of the following:
  "encryptedData": {
    object (EncryptedData)
  },
  "unencryptedValue": string
  // End of list of possible types for union field presencetype.
}
Kolom
Kolom union presencetype. Oneof yang menunjukkan cara ProofOfProvisioning ditampilkan. presencetype hanya dapat berupa salah satu dari berikut:
encryptedData

object (EncryptedData)

Nilai terenkripsi dan metadata enkripsi yang diperlukan untuk mendekripsi nilai.

unencryptedValue

string

Nilai ProofOfProvisioning yang dienkode base64.

MobileSecurityObject

Objek yang mengenkapsulasi ringkasan yang dihitung dari setiap elemen data yang disertakan dalam kredensial. Data ini ditampilkan sebagai data autentikasi statis, yang merupakan format yang diperlukan untuk library Android Identity Credential. Lihat ini untuk mengetahui detail tentang pembuatan data autentikasi statis.

Representasi JSON
{
  "expirationTimeMillis": string,

  // Union field presencetype can be only one of the following:
  "encryptedData": {
    object (EncryptedData)
  },
  "unencryptedValue": string
  // End of list of possible types for union field presencetype.
}
Kolom
expirationTimeMillis

string (int64 format)

Stempel waktu yang menunjukkan kapan masa berlaku objek keamanan seluler berakhir. Stempel waktu ditampilkan sebagai jumlah milidetik sejak epoch Unix.

Kolom union presencetype. Oneof yang menunjukkan cara kredensial ditampilkan. presencetype hanya dapat berupa salah satu dari berikut:
encryptedData

object (EncryptedData)

Nilai terenkripsi dan metadata enkripsi yang diperlukan untuk mendekripsi nilai.

unencryptedValue

string

Nilai kredensial yang dienkode base64.