사용자 인증 정보를 프로비저닝하는 엔드포인트입니다.
HTTP 요청
POST https://example.issuer.com/api/v1/vdc/provisionMobileSecurityObjects
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
| JSON 표현 |
|---|
{ "requestMetadata": { object ( |
| 필드 | |
|---|---|
requestMetadata |
모든 요청에 필요한 요청에 관한 메타데이터입니다. |
deviceReferenceId |
기기 및 기기와 연결된 ID 키에 해당하는 ID입니다. 이는 기기 ID가 아닙니다. 즉, 사용자가 동일한 기기에서 두 개의 별도 사용자 인증 정보를 사용하는 경우 이 ID는 서로 다릅니다. 이 ID는 모든 요청에 제공되며 요청을 상호 연관시키는 데 사용할 수 있습니다. |
credentialId |
기기에 프로비저닝된 특정 사용자 인증 정보를 나타내는 불투명 식별자입니다. 예: UUID |
authKeys[] |
모바일 보안 객체로 사용할 수 있도록 인증해야 하는 x509 인증서 목록입니다. 각 인증서는 기기 사용자 인증 정보 키로 서명됩니다. |
proofOfProvisioning |
사용자 인증 정보가 올바르게 프로비저닝되었음을 증명하는 기기의 객체입니다. 구조에 관한 자세한 내용은 객체 정의를 참고하세요. 참고: 이 객체는 사용자 인증 정보가 프로비저닝된 후 모바일 보안 객체가 처음 프로비저닝될 때만 제공됩니다. MSO 새로고침에 이 메서드를 사용하는 경우 제공되지 않습니다. |
deviceEncryptionKey |
기기의 임시 암호화 키와 연결된 메타데이터가 포함된 객체입니다. 이 키는 값을 기기로 다시 암호화하는 데 사용됩니다. 이 객체는 온보딩 중에 샌드박스 환경에서 제공되지 않을 수 있으므로 발급자가 일반 텍스트 데이터를 반환해야 합니다. 프로덕션 환경에서는 항상 설정해야 합니다. |
credentialVersionId |
기기가 현재 보유한 사용자 인증 정보 버전 ID입니다. 이 값은 이전 버전의 사용자 인증 정보에 모바일 보안 객체를 프로비저닝하는 데 사용하면 안 됩니다(SHOULD NOT). 이 값이 발급자 레코드에 프로비저닝된 최신 버전과 일치하지 않으면 InvalidState가 포함된 ErrorResponse를 대신 반환해야 합니다. |
응답 본문
모바일 보안 객체 프로비저닝 결과를 포함하는 응답입니다.
성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.
| JSON 표현 |
|---|
{ "responseMetadata": { object ( |
| 필드 | |
|---|---|
responseMetadata |
모든 응답에 필요한 응답에 관한 메타데이터입니다. |
mobileSecurityObjects[] |
준비된 MobileSecurityObject 목록입니다. 현재 준비된 MobileSecurityObject가 없으면 이 목록이 비어 있을 수 있습니다. |
AuthKey
발급자가 인증할 기기 사용자 인증 정보 키로 서명된 x509 인증서입니다.
이러한 키는 월렛에서 Android ID 자격 증명 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 ID 사용자 인증 정보 API에 의해 정의되며 https://developer.android.com/reference/android/security/identity/WritableIdentityCredential#personalize(android.security.identity.PersonalizationData)에서 자세히 설명합니다.
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드 presencetype. 프로비저닝 증빙이 표시되는 방식을 나타내는 oneof입니다. presencetype은 다음 중 하나여야 합니다. |
|
encryptedData |
값을 복호화하는 데 필요한 암호화된 값과 암호화 메타데이터입니다. |
unencryptedValue |
ProofOfProvisioning의 base64로 인코딩된 값입니다. |
MobileSecurityObject
인증 정보에 포함된 각 데이터 요소에서 계산된 다이제스트를 캡슐화하는 객체입니다. 이는 Android ID 사용자 인증 정보 라이브러리에 필요한 형식인 정적 인증 데이터로 표현됩니다. 정적 인증 데이터 구성에 관한 자세한 내용은 여기를 참고하세요.
| JSON 표현 |
|---|
{ "expirationTimeMillis": string, // Union field |
| 필드 | |
|---|---|
expirationTimeMillis |
모바일 보안 객체가 만료되는 시간을 나타내는 타임스탬프입니다. 타임스탬프는 Unix epoch 이후의 밀리초 수로 표시됩니다. |
통합 필드 presencetype. 사용자 인증 정보가 표시되는 방식을 나타내는 oneof입니다. presencetype은 다음 중 하나여야 합니다. |
|
encryptedData |
값을 복호화하는 데 필요한 암호화된 값과 암호화 메타데이터입니다. |
unencryptedValue |
사용자 인증 정보의 base64로 인코딩된 값입니다. |