- Solicitação HTTP
- Corpo da solicitação
- Corpo da resposta
- AuthKey
- ProofOfProvisioning
- MobileSecurityObject
Um endpoint para provisionar uma credencial.
Solicitação HTTP
POST https://example.issuer.com/api/v1/vdc/provisionMobileSecurityObjects
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
| Representação JSON |
|---|
{ "requestMetadata": { object ( |
| Campos | |
|---|---|
requestMetadata |
Os metadados sobre a solicitação, obrigatórios para todas elas. |
deviceReferenceId |
O ID que corresponde ao dispositivo e a chave de identidade associada a ele. Este NÃO é um ID do dispositivo, ou seja, se o usuário tivesse duas credenciais separadas no mesmo dispositivo, esse ID seria diferente entre elas. Esse ID é fornecido em todas as solicitações e pode ser usado para correlacionar solicitações. |
credentialId |
Um identificador opaco que representa uma credencial específica provisionada a um dispositivo. Por exemplo: UUID |
authKeys[] |
Uma lista de certificados x509 que precisam ser certificados para serem usados como objetos de segurança móvel. Cada certificado é assinado pela chave de credencial do dispositivo. |
proofOfProvisioning |
Um objeto do dispositivo que comprova que a credencial foi provisionada corretamente. Confira a definição do objeto para mais detalhes sobre a estrutura dele. Observação: esse objeto só é fornecido na primeira vez em que os objetos de segurança móvel são provisionados após o provisionamento da credencial. Quando o método for usado para atualizações de MSO, ele não será fornecido. |
deviceEncryptionKey |
Um objeto que contém a chave de criptografia efêmera do dispositivo e os metadados associados. A chave é usada para criptografar um valor de volta ao dispositivo. Esse objeto pode não ser fornecido no ambiente de sandbox durante a integração, indicando que o emissor deve retornar dados de texto sem formatação. Isso sempre deve ser definido no ambiente de produção. |
credentialVersionId |
O ID da versão da credencial que o dispositivo tem atualmente. Ele NÃO DEVE ser usado para provisionar objetos de segurança de dispositivos móveis para as versões antigas das credenciais. Se o ID não corresponder à versão mais recente provisionada no registro do emissor, você vai receber ErrorResponse com InvalidState. |
Corpo da resposta
Uma resposta contendo o resultado do provisionamento de objetos de segurança móvel.
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
| Representação JSON |
|---|
{ "responseMetadata": { object ( |
| Campos | |
|---|---|
responseMetadata |
Os metadados sobre a resposta, necessários em todas elas. |
mobileSecurityObjects[] |
Uma lista de MobileSecurityObjects que estão prontos. Essa lista pode estar vazia se nenhum MobileSecurityObject estiver pronto no momento. |
AuthKey
Um certificado x509, assinado pela chave de credencial do dispositivo, que será certificado pelo emissor.
Eles são recuperados pela carteira da API Android Identity Credential e são documentados posteriormente em https://developer.android.com/reference/android/security/identity/IdentityCredential#getAuthKeysNeedingCertification()
| Representação JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de união presencetype. Um oneof que indica como o AuthKey está sendo apresentado. presencetype pode ser apenas de um dos tipos a seguir: |
|
encryptedData |
O valor criptografado e os metadados de criptografia necessários para descriptografar o valor. |
unencryptedValue |
O valor codificado em base64 da AuthKey. |
ProofOfProvisioning
Um COSE_Sign1 estruturado e assinado pela chave de credencial do dispositivo, que prova que a credencial relacionada foi corretamente provisionada para armazenamento seguro no dispositivo.
Essa estrutura é definida pela API Android Identity Credential e está documentada com mais detalhes em https://developer.android.com/reference/android/security/identity/WritableIdentityCredential#personalize(android.security.identity.PersonalizationData)
| Representação JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de união presencetype. Um oneof que indica como o ProofOfProvisioning está sendo apresentado. presencetype pode ser apenas de um dos tipos a seguir: |
|
encryptedData |
O valor criptografado e os metadados de criptografia necessários para descriptografar o valor. |
unencryptedValue |
O valor codificado em base64 do ProofOfProvisioning. |
MobileSecurityObject
Um objeto que encapsula resumos calculados de cada elemento de dados incluído na credencial. Isso é representado como dados de autenticação estáticos, que é o formato necessário para a biblioteca Android Identity Credential. Consulte este link para detalhes sobre a construção de dados de autenticação estática.
| Representação JSON |
|---|
{ "expirationTimeMillis": string, // Union field |
| Campos | |
|---|---|
expirationTimeMillis |
Um carimbo de data/hora que representa a expiração do objeto de segurança móvel. Ele é representado pelo número de milissegundos a contar da época do Unix. |
Campo de união presencetype. Um oneof para indicar como a credencial está sendo apresentada. presencetype pode ser apenas de um dos tipos a seguir: |
|
encryptedData |
O valor criptografado e os metadados de criptografia necessários para descriptografar o valor. |
unencryptedValue |
O valor da credencial codificado em base64. |