- Solicitud HTTP
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- AuthKey
- ProofOfProvisioning
- MobileSecurityObject
Un extremo para aprovisionar una credencial.
Solicitud HTTP
POST https://example.issuer.com/api/v1/vdc/provisionMobileSecurityObjects
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
| Representación JSON |
|---|
{ "requestMetadata": { object ( |
| Campos | |
|---|---|
requestMetadata |
Obligatorio. Los metadatos sobre la solicitud, que son obligatorios en todas las solicitudes. |
deviceReferenceId |
Obligatorio. El ID que corresponde al dispositivo y la clave de identidad asociada con el dispositivo. NO es un ID de dispositivo, lo que significa que, si el usuario tuviera dos credenciales separadas en el mismo dispositivo, este ID sería diferente entre ellas. Este ID se proporciona en todas las solicitudes y se puede usar para correlacionarlas. |
credentialId |
Obligatorio. Un identificador opaco que representa una credencial específica aprovisionada en un dispositivo. Ej.: UUID |
authKeys[] |
Obligatorio. Una lista de certificados x509 que deben certificarse para que se puedan usar como objetos de seguridad móviles. Cada certificado está firmado por la clave de credenciales del dispositivo. |
proofOfProvisioning |
Obligatorio. Un objeto del dispositivo que demuestra que la credencial se aprovisionó correctamente. Consulta la definición del objeto para obtener más detalles sobre su estructura. Nota: Este objeto solo se proporciona la primera vez que se aprovisionan objetos de seguridad móviles después de que se aprovisiona la credencial. Cuando se usa este método para las actualizaciones de MSO, no se proporcionará. |
deviceEncryptionKey |
Obligatorio. Un objeto que contiene la clave de encriptación efímera del dispositivo y los metadatos asociados. Esta clave se usa para encriptar un valor en el dispositivo. Es posible que este objeto no se proporcione en la zona de pruebas durante la incorporación, lo que indica que la entidad emisora debe mostrar datos de texto simple. Esto siempre debe configurarse en el entorno de producción. |
credentialVersionId |
Obligatorio. El ID de versión de credencial que tiene actualmente el dispositivo. NO SE DEBE usar para aprovisionar objetos de seguridad móviles para versiones anteriores de las credenciales. Si no coincide con la versión más reciente aprovisionada en el registro del emisor, se debe mostrar un ErrorResponse con InvalidState. |
Cuerpo de la respuesta
Una respuesta que contiene el resultado del aprovisionamiento de objetos de seguridad móviles.
Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:
| Representación JSON |
|---|
{ "responseMetadata": { object ( |
| Campos | |
|---|---|
responseMetadata |
Obligatorio. Los metadatos sobre la respuesta, que son obligatorios en todas las respuestas. |
mobileSecurityObjects[] |
Obligatorio. Una lista de MobileSecurityObjects que están listos. Esta lista puede estar vacía si no hay MobileSecurityObjects listos en este momento. |
AuthKey
Un certificado x509, firmado por la clave de credenciales del dispositivo, que debe certificar el emisor.
La billetera los recupera de la API de Android Identity Credential y se documentan más en https://developer.android.com/reference/android/security/identity/IdentityCredential#getAuthKeysNeedingCertification()
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión presencetype. Obligatorio. Un oneof que indica cómo se presenta AuthKey. presencetype puede ser solo uno de los parámetros siguientes: |
|
encryptedData |
El valor encriptado y los metadatos de encriptación necesarios para desencriptar el valor. |
unencryptedValue |
El valor codificado en base64 de AuthKey. |
ProofOfProvisioning
Un COSE_Sign1 estructurado, firmado por la clave de credenciales del dispositivo, que demuestra que la credencial relacionada se aprovisionó correctamente en el almacenamiento seguro del dispositivo.
Esta estructura se define en la API de Android Identity Credential y se documenta más en https://developer.android.com/reference/android/security/identity/WritableIdentityCredential#personalize(android.security.identity.PersonalizationData)
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión presencetype. Obligatorio. Un oneof que indica cómo se presenta ProofOfProvisioning. presencetype puede ser solo uno de los parámetros siguientes: |
|
encryptedData |
El valor encriptado y los metadatos de encriptación necesarios para desencriptar el valor. |
unencryptedValue |
El valor codificado en base64 de ProofOfProvisioning. |
MobileSecurityObject
Un objeto que encapsula resúmenes calculados a partir de cada elemento de datos incluido en la credencial. Esto se representa como datos de autenticación estáticos, que es el formato requerido para la biblioteca de Android Identity Credential. Consulta esto para obtener detalles sobre la construcción de datos de autenticación estáticos.
| Representación JSON |
|---|
{ "expirationTimeMillis": string, // Union field |
| Campos | |
|---|---|
expirationTimeMillis |
Una marca de tiempo que representa cuándo vence el objeto de seguridad móvil. La marca de tiempo se representa como la cantidad de milisegundos transcurridos desde la época UNIX. |
Campo de unión presencetype. Obligatorio. Un oneof que indica cómo se presenta la credencial. presencetype puede ser solo uno de los parámetros siguientes: |
|
encryptedData |
El valor encriptado y los metadatos de encriptación necesarios para desencriptar el valor. |
unencryptedValue |
El valor codificado en base64 de la credencial. |