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

デバイスに対応する ID とデバイスに関連付けられた ID 鍵。これはデバイス ID ではありません。つまり、ユーザーが同じデバイスで 2 種類の認証情報を使用する場合、この ID はそれぞれの認証情報で異なります。

この ID はすべてのリクエストで提供され、リクエストとリクエストを関連付けるために使用できます。

credentialId

string

デバイスにプロビジョニングされた特定の認証情報を表す不透明な識別子。

例: UUID

authKeys[]

object (AuthKey)

モバイル セキュリティ オブジェクトとして使用できるよう、認定を受ける必要がある x509 証明書のリスト。それぞれの証明書はデバイスの認証情報鍵によって署名されます。

proofOfProvisioning

object (ProofOfProvisioning)

認証情報が適切にプロビジョニングされていることを証明するデバイスのオブジェクト。この構造に関する詳細は、オブジェクトの定義をご覧ください。

注: このオブジェクトが提供されるのは、認証情報がプロビジョニングされた後に、モバイル セキュリティ オブジェクトが最初にプロビジョニングされたときのみです。このメソッドが MSO の更新に使用される場合、このオブジェクトは提供されません。

deviceEncryptionKey

object (DeviceEncryptionKey)

デバイスのエフェメラル暗号鍵と関連するメタデータを含むオブジェクト。この鍵は、値を暗号化してデバイスに返すために使用されます。このオブジェクトは、オンボーディング時のサンドボックス環境では提供されないことがあります。その場合、発行元は平文のデータを返す必要があります。このオブジェクトは本番環境では必ず設定する必要があります。

credentialVersionId

string

デバイスに現在設定されている認証情報のバージョン ID。認証情報のバージョンが古い場合は、モバイル セキュリティ オブジェクトのプロビジョニングに使用しないでください。発行者のレコード内でプロビジョニングされた最新バージョンと一致しない場合は、ErrorResponse に InvalidState が付加されて返されます。

レスポンスの本文

モバイル セキュリティ オブジェクトのプロビジョニングの結果を含むレスポンス。

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

JSON 表現
{
  "responseMetadata": {
    object (ResponseMetadata)
  },
  "mobileSecurityObjects": [
    {
      object (MobileSecurityObject)
    }
  ]
}
フィールド
responseMetadata

object (ResponseMetadata)

レスポンスに関するメタデータ。すべてのレスポンスで必須。

mobileSecurityObjects[]

object (MobileSecurityObject)

準備完了した MobileSecurityObjects のリスト。現在 MobileSecurityObjects の準備ができていない場合、このリストは空になることがあります。

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.
}
フィールド
共用体フィールド presencetype。AuthKey がどのように提示されているかを示す oneof。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.
}
フィールド
共用体フィールド presencetype。ProofOfProvisioning がどのように提示されているかを示す oneof。presencetype は次のいずれかになります。
encryptedData

object (EncryptedData)

暗号化された値と、値を復号するために必要な暗号化メタデータ。

unencryptedValue

string

Base64 でエンコードされた ProofOfProvisioning の値。

MobileSecurityObject

認証情報に含まれる各データ要素から計算したダイジェストをカプセル化するオブジェクト。これは、Android Identity Credential ライブラリに必要な形式である静的認証データとして表されます。静的認証データの構築の詳細については、こちらをご覧ください。

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 エポックからの経過ミリ秒数として示されます。

共用体フィールド presencetype。認証情報がどのように提示されているかを示す oneof。presencetype は次のいずれかになります。
encryptedData

object (EncryptedData)

暗号化された値と、値を復号するために必要な暗号化メタデータ。

unencryptedValue

string

base64 でエンコードされた認証情報の値。