- Solicitud HTTP
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- AuthKey
- ProofOfProvisioning
- MobileSecurityObject
Es 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 |
Son los metadatos sobre la solicitud, que se requieren en todas las solicitudes. |
deviceReferenceId |
Es el ID que corresponde al dispositivo y la clave de identidad asociada a él. 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 |
Es un identificador opaco que representa una credencial específica aprovisionada en un dispositivo. Ejemplo: UUID |
authKeys[] |
Es una lista de certificados x509 que deben certificarse para que se puedan usar como objetos de seguridad para dispositivos móviles. Cada certificado está firmado por la clave de credencial del dispositivo. |
proofOfProvisioning |
Es 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 para dispositivos móviles después de que se aprovisiona la credencial. Cuando este método se usa para las actualizaciones de MSO, no se proporciona. |
deviceEncryptionKey |
Es 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 y enviarlo de vuelta al dispositivo. Es posible que este objeto no se proporcione en el entorno de zona de pruebas durante la incorporación, lo que indica que la entidad emisora debe devolver datos de texto sin formato. Este valor siempre debe establecerse en el entorno de producción. |
credentialVersionId |
Es el ID de la versión de la credencial que tiene el dispositivo actualmente. NO se debe usar para aprovisionar objetos de seguridad para dispositivos móviles en versiones anteriores de credenciales. Si no coincide con la versión más reciente aprovisionada en el registro de la entidad emisora, se debe devolver un ErrorResponse con InvalidState. |
Cuerpo de la respuesta
Es una respuesta que contiene el resultado del aprovisionamiento de objetos de seguridad para dispositivos móviles.
Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:
| Representación JSON |
|---|
{ "responseMetadata": { object ( |
| Campos | |
|---|---|
responseMetadata |
Son los metadatos sobre la respuesta, que se requieren en todas las respuestas. |
mobileSecurityObjects[] |
Es una lista de MobileSecurityObjects que están listos. Esta lista puede estar vacía si no hay objetos MobileSecurityObject listos en este momento. |
AuthKey
Es un certificado X.509, firmado por la clave de credencial del dispositivo, que el emisor debe certificar.
La billetera las 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. Es un campo oneof que indica cómo se presenta la clave de autorización. presencetype puede ser solo uno de los parámetros siguientes: |
|
encryptedData |
Es el valor encriptado y los metadatos de encriptación necesarios para desencriptar el valor. |
unencryptedValue |
Es el valor codificado en base64 de AuthKey. |
ProofOfProvisioning
Es un objeto COSE_Sign1 estructurado y firmado por la clave de credencial 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. Es un elemento oneof que indica cómo se presenta el ProofOfProvisioning. presencetype puede ser solo uno de los parámetros siguientes: |
|
encryptedData |
Es el valor encriptado y los metadatos de encriptación necesarios para desencriptar el valor. |
unencryptedValue |
Es el valor codificado en base64 de ProofOfProvisioning. |
MobileSecurityObject
Es un objeto que encapsula los resúmenes calculados a partir de cada elemento de datos incluido en la credencial. Esto se representa como datos de autorización estáticos, que es el formato requerido para la biblioteca de Android Identity Credential. Consulta este vínculo para obtener detalles sobre la construcción de datos de autorización estáticos.
| Representación JSON |
|---|
{ "expirationTimeMillis": string, // Union field |
| Campos | |
|---|---|
expirationTimeMillis |
Es una marca de tiempo que representa cuándo vence el objeto de seguridad para dispositivos móviles. La marca de tiempo se representa como la cantidad de milisegundos transcurridos desde la época Unix. |
Campo de unión presencetype. Es un elemento oneof que indica cómo se presenta la credencial. presencetype puede ser solo uno de los parámetros siguientes: |
|
encryptedData |
Es el valor encriptado y los metadatos de encriptación necesarios para desencriptar el valor. |
unencryptedValue |
Es el valor de la credencial codificado en base64. |