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

شناسه‌ای که مربوط به دستگاه و کلید هویت مرتبط با آن است. این شناسه دستگاه نیست، به این معنی که اگر کاربر دو اعتبارنامه جداگانه روی یک دستگاه داشته باشد، این شناسه بین آنها متفاوت خواهد بود.

این شناسه در تمام درخواست‌ها ارائه می‌شود و می‌تواند برای مرتبط کردن درخواست‌ها مورد استفاده قرار گیرد.

credentialId

string

یک شناسه‌ی غیرشفاف که نشان‌دهنده‌ی یک اعتبارنامه‌ی خاصِ ارائه شده به یک دستگاه است.

مثال: شناسه کاربری

authKeys[]

object ( AuthKey )

فهرستی از گواهی‌های x509 که نیاز به تأیید دارند تا بتوان از آنها به عنوان اشیاء امنیتی موبایل استفاده کرد. هر گواهی توسط کلید اعتبارنامه دستگاه امضا می‌شود.

proofOfProvisioning

object ( ProofOfProvisioning )

یک شیء از دستگاه که ثابت می‌کند اعتبارنامه به درستی ارائه شده است. برای جزئیات بیشتر در مورد ساختار این شیء، به تعریف شیء مراجعه کنید.

توجه: این شیء فقط در اولین باری که اشیاء امنیتی موبایل پس از ارائه اعتبارنامه ارائه می‌شوند، ارائه می‌شود. هنگامی که از این روش برای به‌روزرسانی‌های MSO استفاده می‌شود، این شیء ارائه نخواهد شد.

deviceEncryptionKey

object ( DeviceEncryptionKey )

شیء حاوی کلید رمزگذاری موقت دستگاه و فراداده‌های مرتبط. این کلید برای رمزگذاری یک مقدار به دستگاه استفاده می‌شود. این شیء ممکن است در محیط sandbox در طول فرآیند راه‌اندازی ارائه نشود، که نشان می‌دهد صادرکننده باید داده‌های متن ساده را برگرداند. این مورد همیشه باید در محیط عملیاتی تنظیم شود.

credentialVersionId

string

شناسه نسخه اعتبارنامه‌ای که دستگاه در حال حاضر دارد. این شناسه نباید برای ارائه اشیاء امنیتی موبایل برای نسخه‌های قدیمی اعتبارنامه‌ها استفاده شود. اگر این شناسه با جدیدترین نسخه ارائه شده در رکورد صادرکننده مطابقت نداشته باشد، باید یک پاسخ خطا با وضعیت نامعتبر (InvalidState) برگردانده شود.

بدنه پاسخ

پاسخی حاوی نتیجه‌ی تأمین اشیاء امنیتی موبایل.

در صورت موفقیت، بدنه پاسخ شامل داده‌هایی با ساختار زیر است:

نمایش JSON
{
  "responseMetadata": {
    object (ResponseMetadata)
  },
  "mobileSecurityObjects": [
    {
      object (MobileSecurityObject)
    }
  ]
}
فیلدها
responseMetadata

object ( ResponseMetadata )

فراداده مربوط به پاسخ، که در همه پاسخ‌ها الزامی است.

mobileSecurityObjects[]

object ( MobileSecurityObject )

فهرستی از MobileSecurityObjects که آماده هستند. اگر هیچ MobileSecurityObjects در حال حاضر آماده نباشد، این فهرست ممکن است خالی باشد.

کلید تأیید

یک گواهی x509، امضا شده توسط کلید اعتبارنامه دستگاه، که قرار است توسط صادرکننده تأیید شود.

این موارد توسط کیف پول از API اعتبارنامه Android Identity بازیابی می‌شوند و مستندات بیشتر در 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 . یکی از مواردی که نحوه نمایش AuthKey را نشان می‌دهد. presencetype فقط می‌تواند یکی از موارد زیر باشد:
encryptedData

object ( EncryptedData )

مقدار رمزگذاری شده و فراداده رمزگذاری لازم برای رمزگشایی مقدار.

unencryptedValue

string

مقدار کدگذاری شده‌ی base64 مربوط به AuthKey.

اثبات تأمین

یک COSE_Sign1 ساختاریافته، امضا شده توسط کلید اعتبارنامه دستگاه، که ثابت می‌کند اعتبارنامه مربوطه به درستی در حافظه امن دستگاه قرار داده شده است.

این ساختار توسط API مربوط به اعتبارنامه‌ی هویت اندروید (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 . یکی از مواردی که نشان می‌دهد ProofOfProvisioning چگونه ارائه می‌شود. presencetype فقط می‌تواند یکی از موارد زیر باشد:
encryptedData

object ( EncryptedData )

مقدار رمزگذاری شده و فراداده رمزگذاری لازم برای رمزگشایی مقدار.

unencryptedValue

string

مقدار کدگذاری شده‌ی base64 مربوط به ProofOfProvisioning.

شیء امنیت موبایل

شیء‌ای که خلاصه‌های محاسبه‌شده از هر عنصر داده موجود در اعتبارنامه را کپسوله‌سازی می‌کند. این به صورت داده‌های احراز هویت استاتیک نمایش داده می‌شود که فرمت مورد نیاز برای کتابخانه اعتبارنامه Android Identity است. برای جزئیات بیشتر در مورد ساخت داده‌های احراز هویت استاتیک به این مراجعه کنید.

نمایش 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)

یک مهر زمانی که نشان می‌دهد شیء امنیتی موبایل چه زمانی منقضی می‌شود. مهر زمانی به صورت تعداد میلی‌ثانیه‌ها از زمان آغاز یونیکس نمایش داده می‌شود.

فیلد Union presencetype . یکی از مواردی که نشان می‌دهد اعتبارنامه چگونه ارائه می‌شود. presencetype فقط می‌تواند یکی از موارد زیر باشد:
encryptedData

object ( EncryptedData )

مقدار رمزگذاری شده و فراداده رمزگذاری لازم برای رمزگشایی مقدار.

unencryptedValue

string

مقدار کدگذاری شده‌ی base64 مربوط به اعتبارنامه.