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 ( |
| Kolom | |
|---|---|
requestMetadata |
Metadata tentang permintaan, yang diperlukan dalam semua permintaan. |
deviceReferenceId |
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 |
ID non-transparan yang merepresentasikan kredensial tertentu yang disediakan untuk perangkat. Contoh: UUID |
authKeys[] |
Daftar sertifikat x509 yang perlu disertifikasi, sehingga dapat digunakan sebagai objek keamanan seluler. Setiap sertifikat ditandatangani oleh kunci kredensial perangkat. |
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 |
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 |
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 ( |
| Kolom | |
|---|---|
responseMetadata |
Metadata tentang respons, yang diperlukan dalam semua respons. |
mobileSecurityObjects[] |
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 |
| Kolom | |
|---|---|
Kolom union presencetype. Oneof yang menunjukkan cara AuthKey ditampilkan. presencetype hanya dapat berupa salah satu dari berikut: |
|
encryptedData |
Nilai terenkripsi dan metadata enkripsi yang diperlukan untuk mendekripsi nilai. |
unencryptedValue |
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 |
| Kolom | |
|---|---|
Kolom union presencetype. Oneof yang menunjukkan cara ProofOfProvisioning ditampilkan. presencetype hanya dapat berupa salah satu dari berikut: |
|
encryptedData |
Nilai terenkripsi dan metadata enkripsi yang diperlukan untuk mendekripsi nilai. |
unencryptedValue |
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 |
| Kolom | |
|---|---|
expirationTimeMillis |
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 |
Nilai terenkripsi dan metadata enkripsi yang diperlukan untuk mendekripsi nilai. |
unencryptedValue |
Nilai kredensial yang dienkode base64. |