Method: vdc.provisionMobileSecurityObjects

ปลายทางในการจัดสรรข้อมูลเข้าสู่ระบบ

คำขอ HTTP

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

เนื้อความของคำขอ

เนื้อหาของคำขอมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

การแสดง JSON
{
  "requestMetadata": {
    object (RequestMetadata)
  },
  "deviceReferenceId": string,
  "credentialId": string,
  "authKeys": [
    {
      object (AuthKey)
    }
  ],
  "proofOfProvisioning": {
    object (ProofOfProvisioning)
  },
  "deviceEncryptionKey": {
    object (DeviceEncryptionKey)
  },
  "credentialVersionId": string
}
ช่อง
requestMetadata

object (RequestMetadata)

ข้อมูลเมตาเกี่ยวกับคำขอ ซึ่งจำเป็นในคำขอทั้งหมด

deviceReferenceId

string

รหัสที่สอดคล้องกับอุปกรณ์และคีย์ข้อมูลประจำตัวที่เชื่อมโยงกับอุปกรณ์ นี่ไม่ใช่รหัสอุปกรณ์ ซึ่งหมายความว่าหากผู้ใช้มีข้อมูลเข้าสู่ระบบ 2 ชุดแยกกันในอุปกรณ์เดียวกัน รหัสนี้จะแตกต่างกัน

รหัสนี้จะระบุในคำขอทั้งหมด และใช้เพื่อเชื่อมโยงคำขอได้

credentialId

string

ตัวระบุทึบแสงที่แสดงถึงข้อมูลเข้าสู่ระบบที่เฉพาะเจาะจงซึ่งจัดสรรให้กับอุปกรณ์

เช่น UUID

authKeys[]

object (AuthKey)

รายการใบรับรอง x509 ที่ต้องได้รับการรับรองเพื่อให้ใช้เป็นออบเจ็กต์ความปลอดภัยบนอุปกรณ์เคลื่อนที่ได้ ใบรับรองแต่ละรายการจะลงนามโดยคีย์ข้อมูลเข้าสู่ระบบของอุปกรณ์

proofOfProvisioning

object (ProofOfProvisioning)

ออบเจ็กต์จากอุปกรณ์ที่พิสูจน์ว่ามีการจัดสรรข้อมูลเข้าสู่ระบบอย่างถูกต้อง ดูรายละเอียดเพิ่มเติมเกี่ยวกับโครงสร้างของออบเจ็กต์ได้ที่คำจำกัดความของออบเจ็กต์

หมายเหตุ: ระบบจะระบุออบเจ็กต์นี้เฉพาะครั้งแรกที่มีการจัดสรรออบเจ็กต์ความปลอดภัยบนอุปกรณ์เคลื่อนที่หลังจากที่มีการจัดสรรข้อมูลเข้าสู่ระบบแล้ว เมื่อใช้วิธีนี้ในการรีเฟรช MSO ระบบจะไม่แสดงข้อมูลนี้

deviceEncryptionKey

object (DeviceEncryptionKey)

ออบเจ็กต์ที่มีคีย์การเข้ารหัสชั่วคราวของอุปกรณ์และข้อมูลเมตาที่เกี่ยวข้อง คีย์นี้ใช้สำหรับการเข้ารหัสค่ากลับไปยังอุปกรณ์ ระบบอาจไม่ระบุออบเจ็กต์นี้ในสภาพแวดล้อมแซนด์บ็อกซ์ระหว่างการเริ่มต้นใช้งาน ซึ่งหมายความว่าผู้ออกบัตรควรส่งคืนข้อมูลข้อความธรรมดา ควรตั้งค่านี้ในสภาพแวดล้อมที่ใช้งานจริงเสมอ

credentialVersionId

string

รหัสเวอร์ชันของข้อมูลเข้าสู่ระบบที่อุปกรณ์มีอยู่ในปัจจุบัน ไม่ควรใช้เพื่อจัดสรรออบเจ็กต์ความปลอดภัยบนอุปกรณ์เคลื่อนที่สำหรับข้อมูลเข้าสู่ระบบเวอร์ชันเก่า หากไม่ตรงกับเวอร์ชันล่าสุดที่จัดสรรไว้ในบันทึกของผู้ให้บริการออกใบรับรอง ระบบควรแสดง ErrorResponse ที่มี InvalidState แทน

เนื้อหาการตอบกลับ

การตอบกลับที่มีผลลัพธ์ของการจัดสรรออบเจ็กต์ความปลอดภัยบนอุปกรณ์เคลื่อนที่

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

การแสดง JSON
{
  "responseMetadata": {
    object (ResponseMetadata)
  },
  "mobileSecurityObjects": [
    {
      object (MobileSecurityObject)
    }
  ]
}
ช่อง
responseMetadata

object (ResponseMetadata)

ข้อมูลเมตาเกี่ยวกับคำตอบ ซึ่งจำเป็นต้องมีในคำตอบทั้งหมด

mobileSecurityObjects[]

object (MobileSecurityObject)

รายการ MobileSecurityObjects ที่พร้อมใช้งาน รายการนี้อาจว่างเปล่าหากไม่มี MobileSecurityObject พร้อมใช้งานในขณะนี้

AuthKey

ใบรับรอง x509 ที่ลงนามโดยคีย์ข้อมูลเข้าสู่ระบบของอุปกรณ์ซึ่งผู้ออกใบรับรองจะรับรอง

โดยกระเป๋าเงินจะดึงข้อมูลเหล่านี้จาก Android Identity Credential API และมีเอกสารเพิ่มเติมที่ https://developer.android.com/reference/android/security/identity/IdentityCredential#getAuthKeysNeedingCertification()

การแสดง 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.
}
ช่อง
ฟิลด์ Union presencetype Oneof ที่ระบุวิธีแสดง AuthKey presencetype ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
encryptedData

object (EncryptedData)

ค่าที่เข้ารหัสและข้อมูลเมตาการเข้ารหัสที่จำเป็นต่อการถอดรหัสค่า

unencryptedValue

string

ค่าที่เข้ารหัส Base64 ของ AuthKey

ProofOfProvisioning

โครงสร้าง COSE_Sign1 ที่ลงนามโดยคีย์ข้อมูลเข้าสู่ระบบของอุปกรณ์ ซึ่งพิสูจน์ว่ามีการจัดสรรข้อมูลเข้าสู่ระบบที่เกี่ยวข้องอย่างถูกต้องไปยังที่เก็บข้อมูลที่ปลอดภัยในอุปกรณ์

โครงสร้างนี้กำหนดโดย Android Identity Credential API และมีเอกสารเพิ่มเติมที่ https://developer.android.com/reference/android/security/identity/WritableIdentityCredential#personalize(android.security.identity.PersonalizationData)

การแสดง 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.
}
ช่อง
ฟิลด์ Union presencetype Oneof ที่ระบุวิธีนำเสนอ ProofOfProvisioning presencetype ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
encryptedData

object (EncryptedData)

ค่าที่เข้ารหัสและข้อมูลเมตาการเข้ารหัสที่จำเป็นต่อการถอดรหัสค่า

unencryptedValue

string

ค่า ProofOfProvisioning ที่เข้ารหัส Base64

MobileSecurityObject

ออบเจ็กต์ที่แคปซูลไดเจสต์ซึ่งคำนวณจากองค์ประกอบข้อมูลแต่ละรายการที่รวมอยู่ในข้อมูลเข้าสู่ระบบ ซึ่งแสดงเป็นข้อมูลการให้สิทธิ์แบบคงที่ ซึ่งเป็นรูปแบบที่จำเป็นสำหรับไลบรารีข้อมูลประจำตัว Android ดูรายละเอียดเกี่ยวกับการสร้างข้อมูลการตรวจสอบสิทธิ์แบบคงที่ได้ที่นี่

การแสดง 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.
}
ช่อง
expirationTimeMillis

string (int64 format)

การประทับเวลาที่แสดงเวลาที่ออบเจ็กต์ความปลอดภัยบนอุปกรณ์เคลื่อนที่หมดอายุ การประทับเวลาแสดงเป็นจำนวนมิลลิวินาทีนับตั้งแต่ Unix Epoch

ฟิลด์ Union presencetype Oneof ที่ระบุวิธีแสดงข้อมูลเข้าสู่ระบบ presencetype ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น
encryptedData

object (EncryptedData)

ค่าที่เข้ารหัสและข้อมูลเมตาการเข้ารหัสที่จำเป็นต่อการถอดรหัสค่า

unencryptedValue

string

ค่าของข้อมูลเข้าสู่ระบบที่เข้ารหัส Base64