用於佈建憑證的端點。
HTTP 要求
POST https://example.issuer.com/api/v1/vdc/provisionMobileSecurityObjects
要求主體
要求主體會包含結構如下的資料:
| JSON 表示法 |
|---|
{ "requestMetadata": { object ( |
| 欄位 | |
|---|---|
requestMetadata |
所有要求都必須提供的要求中繼資料。 |
deviceReferenceId |
與裝置和裝置相關聯的身分識別金鑰相應的 ID。這並非裝置 ID,也就是說,如果使用者在同一部裝置上擁有兩組不同的憑證,這兩個憑證的 ID 就會不同。 所有要求都會提供這個 ID,可用於建立要求之間的關聯。 |
credentialId |
不透明 ID,代表提供給裝置的特定憑證。 例如:UUID |
authKeys[] |
需要認證的 x509 憑證清單,以便做為行動安全物件。每張憑證都會由裝置憑證金鑰簽署。 |
proofOfProvisioning |
裝置傳送的物件,可證明憑證已正確佈建。如要進一步瞭解這個結構,請參閱物件定義。 注意:只有在憑證佈建後首次佈建行動安全物件時,系統才會提供這個物件。如果使用這個方法重新整理 MSO,系統不會提供這項資訊。 |
deviceEncryptionKey |
這個物件包含裝置的暫時性加密金鑰和相關聯的中繼資料。這個金鑰用於將值加密回裝置。在導入期間,沙箱環境可能不會提供這個物件,表示發卡機構應傳回純文字資料。實際工作環境中一律應設定這個值。 |
credentialVersionId |
裝置目前擁有的憑證版本 ID。請勿使用這項功能,為舊版憑證佈建行動安全物件。如果這與發行者記錄中佈建的最新版本不符,則應改為傳回含有 InvalidState 的 ErrorResponse。 |
回應主體
回應,其中包含佈建行動裝置安全物件的結果。
如果成功,回應主體會含有以下結構的資料:
| JSON 表示法 |
|---|
{ "responseMetadata": { object ( |
| 欄位 | |
|---|---|
responseMetadata |
回應的中繼資料,所有回應都必須提供。 |
mobileSecurityObjects[] |
已準備就緒的 MobileSecurityObject 清單。如果目前沒有可用的 MobileSecurityObject,這份清單可能會是空白的。 |
AuthKey
由裝置憑證金鑰簽署的 x509 憑證,將由簽發者驗證。
這些金鑰是由錢包從 Android Identity Credential API 擷取,詳情請參閱 https://developer.android.com/reference/android/security/identity/IdentityCredential#getAuthKeysNeedingCertification()
| JSON 表示法 |
|---|
{ // Union field |
| 欄位 | |
|---|---|
聯集欄位 presencetype。指出如何呈現 AuthKey 的 oneof。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 |
| 欄位 | |
|---|---|
聯集欄位 presencetype。指出如何呈現 ProofOfProvisioning 的 oneof。presencetype 只能是下列其中一項: |
|
encryptedData |
解密值所需的加密值和加密中繼資料。 |
unencryptedValue |
ProofOfProvisioning 的 Base64 編碼值。 |
MobileSecurityObject
這個物件會封裝從憑證中每個資料元素計算出的摘要。這會以靜態驗證資料表示,這是 Android Identity Credential 程式庫的必要格式。如要進一步瞭解如何建構靜態驗證資料,請參閱這篇文章。
| JSON 表示法 |
|---|
{ "expirationTimeMillis": string, // Union field |
| 欄位 | |
|---|---|
expirationTimeMillis |
代表行動裝置安全物件到期時間的時間戳記。時間戳記以 Unix 紀元時間起算的毫秒數表示。 |
聯集欄位 presencetype。這個 oneof 會指出憑證的呈現方式。presencetype 只能是下列其中一項: |
|
encryptedData |
解密值所需的加密值和加密中繼資料。 |
unencryptedValue |
憑證的 Base64 編碼值。 |