ปลายทางในการจัดเตรียมข้อมูลเข้าสู่ระบบ
คำขอ HTTP
POST https://example.issuer.com/api/v1/vdc/provisionMobileSecurityObjects
เนื้อหาคำขอ
เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
| การแสดง JSON |
|---|
{ "requestMetadata": { object ( |
| ช่อง | |
|---|---|
requestMetadata |
ต้องระบุ ข้อมูลเมตาเกี่ยวกับคำขอ ซึ่งจำเป็นในคำขอทั้งหมด |
deviceReferenceId |
ต้องระบุ รหัสที่ตรงกับอุปกรณ์และคีย์ข้อมูลประจำตัวที่เชื่อมโยงกับอุปกรณ์ รหัสนี้ไม่ใช่รหัสอุปกรณ์ ซึ่งหมายความว่าหากผู้ใช้มีข้อมูลเข้าสู่ระบบ 2 รายการแยกกันในอุปกรณ์เครื่องเดียวกัน รหัสนี้จะแตกต่างกัน ระบบจะระบุรหัสนี้ในคำขอทั้งหมด และคุณสามารถใช้รหัสนี้เพื่อเชื่อมโยงคำขอต่างๆ ได้ |
credentialId |
ต้องระบุ ตัวระบุแบบทึบแสงที่แสดงถึงข้อมูลเข้าสู่ระบบเฉพาะที่จัดเตรียมไว้สำหรับอุปกรณ์ เช่น UUID |
authKeys[] |
ต้องระบุ รายการใบรับรอง x509 ที่ต้องได้รับการรับรองเพื่อให้ใช้เป็นออบเจ็กต์ความปลอดภัยของอุปกรณ์เคลื่อนที่ได้ ใบรับรองแต่ละรายการจะลงนามโดยคีย์ข้อมูลเข้าสู่ระบบอุปกรณ์ |
proofOfProvisioning |
ต้องระบุ ออบเจ็กต์จากอุปกรณ์ที่พิสูจน์ว่ามีการจัดเตรียมข้อมูลเข้าสู่ระบบอย่างถูกต้อง ดูรายละเอียดเพิ่มเติมเกี่ยวกับโครงสร้างของออบเจ็กต์นี้ได้ที่คำจำกัดความของออบเจ็กต์ หมายเหตุ: ระบบจะระบุออบเจ็กต์นี้เฉพาะครั้งแรกที่มีการจัดเตรียมออบเจ็กต์ความปลอดภัยของอุปกรณ์เคลื่อนที่หลังจากที่จัดเตรียมข้อมูลเข้าสู่ระบบแล้ว เมื่อใช้วิธีนี้ในการรีเฟรช MSO ระบบจะไม่ระบุออบเจ็กต์นี้ |
deviceEncryptionKey |
ต้องระบุ ออบเจ็กต์ที่มีคีย์การเข้ารหัสแบบชั่วคราวของอุปกรณ์และข้อมูลเมตาที่เชื่อมโยง คีย์นี้ใช้สำหรับการเข้ารหัสค่ากลับไปยังอุปกรณ์ ระบบอาจไม่ระบุออบเจ็กต์นี้ในสภาพแวดล้อมแซนด์บ็อกซ์ระหว่างการเริ่มต้นใช้งาน ซึ่งบ่งบอกว่าผู้ออกควรแสดงข้อมูลข้อความธรรมดา ควรตั้งค่านี้ในสภาพแวดล้อมฮาร์ดแวร์และซอฟต์แวร์เสมอ |
credentialVersionId |
ต้องระบุ รหัสเวอร์ชันข้อมูลเข้าสู่ระบบที่อุปกรณ์มีอยู่ในปัจจุบัน ไม่ควรใช้รหัสนี้ในการจัดเตรียมออบเจ็กต์ความปลอดภัยของอุปกรณ์เคลื่อนที่สำหรับข้อมูลเข้าสู่ระบบเวอร์ชันเก่า หากรหัสนี้ไม่ตรงกับเวอร์ชันล่าสุดที่จัดเตรียมไว้ในบันทึกของผู้ออก ระบบควรแสดง ErrorResponse ที่มี InvalidState แทน |
เนื้อหาการตอบกลับ
การตอบกลับที่มีผลลัพธ์ของการจัดเตรียมออบเจ็กต์ความปลอดภัยของอุปกรณ์เคลื่อนที่
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
| การแสดง JSON |
|---|
{ "responseMetadata": { object ( |
| ช่อง | |
|---|---|
responseMetadata |
ต้องระบุ ข้อมูลเมตาเกี่ยวกับการตอบกลับ ซึ่งจำเป็นในการตอบกลับทั้งหมด |
mobileSecurityObjects[] |
ต้องระบุ รายการ MobileSecurityObject ที่พร้อมใช้งาน รายการนี้อาจว่างเปล่าหากไม่มี MobileSecurityObject ที่พร้อมใช้งานในขณะนี้ |
AuthKey
ใบรับรอง x509 ที่ลงนามโดยคีย์ข้อมูลเข้าสู่ระบบอุปกรณ์ ซึ่งผู้ออกต้องรับรอง
Wallet จะดึงข้อมูลเหล่านี้จาก Android Identity Credential API และมีเอกสารประกอบเพิ่มเติมที่ https://developer.android.com/reference/android/security/identity/IdentityCredential#getAuthKeysNeedingCertification()
| การแสดง JSON |
|---|
{ // Union field |
| ช่อง | |
|---|---|
ฟิลด์ Union presencetype ต้องระบุ Oneof ที่ระบุวิธีแสดง AuthKey presencetype จะเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
encryptedData |
ค่าที่เข้ารหัสและข้อมูลเมตาการเข้ารหัสที่จำเป็นในการถอดรหัสค่า |
unencryptedValue |
ค่า AuthKey ที่เข้ารหัส Base64 |
ProofOfProvisioning
COSE_Sign1 ที่มีโครงสร้างและลงนามโดยคีย์ข้อมูลเข้าสู่ระบบอุปกรณ์ ซึ่งพิสูจน์ว่ามีการจัดเตรียมข้อมูลเข้าสู่ระบบที่เกี่ยวข้องอย่างถูกต้องในพื้นที่เก็บข้อมูลที่ปลอดภัยในอุปกรณ์
โครงสร้างนี้กำหนดโดย Android Identity Credential API และมีเอกสารประกอบเพิ่มเติมที่ https://developer.android.com/reference/android/security/identity/WritableIdentityCredential#personalize(android.security.identity.PersonalizationData)
| การแสดง JSON |
|---|
{ // Union field |
| ช่อง | |
|---|---|
ฟิลด์ Union presencetype ต้องระบุ Oneof ที่ระบุวิธีแสดง ProofOfProvisioning presencetype จะเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
encryptedData |
ค่าที่เข้ารหัสและข้อมูลเมตาการเข้ารหัสที่จำเป็นในการถอดรหัสค่า |
unencryptedValue |
ค่า ProofOfProvisioning ที่เข้ารหัส Base64 |
MobileSecurityObject
ออบเจ็กต์ที่ห่อหุ้มค่าแฮชที่คำนวณจากองค์ประกอบข้อมูลแต่ละรายการที่รวมอยู่ในข้อมูลเข้าสู่ระบบ ออบเจ็กต์นี้แสดงเป็นข้อมูลการตรวจสอบสิทธิ์แบบคงที่ ซึ่งเป็นรูปแบบที่จำเป็นสำหรับไลบรารี Android Identity Credential ดูรายละเอียดเกี่ยวกับการสร้างข้อมูลการตรวจสอบสิทธิ์แบบคงที่ได้ที่ นี่
| การแสดง JSON |
|---|
{ "expirationTimeMillis": string, // Union field |
| ช่อง | |
|---|---|
expirationTimeMillis |
การประทับเวลาที่แสดงเวลาที่ออบเจ็กต์ความปลอดภัยของอุปกรณ์เคลื่อนที่จะหมดอายุ การประทับเวลาแสดงเป็นจำนวนมิลลิวินาทีนับตั้งแต่ Unix Epoch |
ฟิลด์ Union presencetype ต้องระบุ Oneof ที่ระบุวิธีแสดงข้อมูลเข้าสู่ระบบ presencetype จะเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
encryptedData |
ค่าที่เข้ารหัสและข้อมูลเมตาการเข้ารหัสที่จำเป็นในการถอดรหัสค่า |
unencryptedValue |
ค่าข้อมูลเข้าสู่ระบบที่เข้ารหัส Base64 |