- Requête HTTP
- Corps de la requête
- Corps de la réponse
- AuthKey
- ProofOfProvisioning
- MobileSecurityObject
Point de terminaison pour provisionner un justificatif.
Requête HTTP
POST https://example.issuer.com/api/v1/vdc/provisionMobileSecurityObjects
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
| Représentation JSON |
|---|
{ "requestMetadata": { object ( |
| Champs | |
|---|---|
requestMetadata |
Métadonnées de la requête, obligatoires pour toutes les requêtes. |
deviceReferenceId |
Identifiant correspondant à l'appareil et clé d'identité associée à l'appareil. Il ne s'agit PAS de l'identifiant de l'appareil, c'est-à-dire que si l'utilisateur possède deux jeux d'identifiants distincts sur le même appareil, cet identifiant sera différent pour chacun d'entre eux. Cet identifiant est fourni dans toutes les requêtes et peut être utilisé pour corréler des requêtes. |
credentialId |
Identifiant opaque représentant un justificatif spécifique provisionné sur un appareil. Ex. : UUID |
authKeys[] |
Liste de certificats x509 qui doivent être certifiés pour pouvoir être utilisés en tant qu'objets de sécurité mobile. Chaque certificat est signé à l'aide de la clé d'identification de l'appareil. |
proofOfProvisioning |
Objet de l'appareil qui prouve que le justificatif a bien été provisionné. Consultez la définition de l'objet pour en savoir plus sur cette structure. Remarque : Cet objet n'est fourni que la première fois que des objets de sécurité mobile sont provisionnés après que le justificatif a été provisionné. Si cette méthode est utilisée pour actualiser des objets de sécurité mobile, il n'est pas fourni. |
deviceEncryptionKey |
Objet contenant la clé de chiffrement éphémère de l'appareil ainsi que les métadonnées associées. Cette clé est utilisée pour chiffrer une valeur renvoyée à l'appareil. Il est possible que cet objet ne soit pas fourni dans l'environnement de bac à sable lors de l'intégration, ce qui indique à l'émetteur qu'il doit renvoyer des données en texte brut. Cet objet doit toujours être défini dans l'environnement de production. |
credentialVersionId |
ID de la version de justificatif dont dispose actuellement l'appareil. Il ne DOIT PAS servir à provisionner des objets de sécurité mobile pour d'anciennes versions de justificatifs. S'il ne correspond pas à la version la plus récente provisionnée dans l'enregistrement de l'émetteur, une ErrorResponse avec InvalidState doit être renvoyée. |
Corps de la réponse
Réponse contenant le résultat du provisionnement d'objets de sécurité mobile.
Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :
| Représentation JSON |
|---|
{ "responseMetadata": { object ( |
| Champs | |
|---|---|
responseMetadata |
Métadonnées de la réponse, obligatoires pour toutes les réponses. |
mobileSecurityObjects[] |
Liste des MobileSecurityObjects prêts. Cette liste peut être vide si aucun MobileSecurityObject n'est actuellement prêt. |
AuthKey
Certificat x509, signé à l'aide de la clé d'identification de l'appareil, qui doit être certifié par l'émetteur.
Ces éléments sont récupérés par le portefeuille via l'API Android Identity Credential. Ils sont documentés plus en détail sur https://developer.android.com/reference/android/security/identity/IdentityCredential#getAuthKeysNeedingCertification()
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union presencetype. Oneof indiquant la manière dont l'AuthKey est présentée. presencetype ne peut être qu'un des éléments suivants : |
|
encryptedData |
Valeur chiffrée et métadonnées de chiffrement nécessaires pour la déchiffrer. |
unencryptedValue |
Valeur de l'AuthKey encodée en base64. |
ProofOfProvisioning
Structure COSE_Sign1, signée à l'aide de la clé d'identification de l'appareil, qui prouve que le justificatif correspondant a bien été provisionné dans l'emplacement de stockage sécurisé de l'appareil.
Cette structure est définie par l'API Android Identity Credential. Elle est documentée plus en détail sur https://developer.android.com/reference/android/security/identity/WritableIdentityCredential#personalize(android.security.identity.PersonalizationData)
| Représentation JSON |
|---|
{ // Union field |
| Champs | |
|---|---|
Champ d'union presencetype. Oneof indiquant la manière dont la ProofOfProvisioning est présentée. presencetype ne peut être qu'un des éléments suivants : |
|
encryptedData |
Valeur chiffrée et métadonnées de chiffrement nécessaires pour la déchiffrer. |
unencryptedValue |
Valeur de la ProofOfProvisioning encodée en base64. |
MobileSecurityObject
Objet encapsulant des condensés calculés à partir de chaque élément de données inclus dans l'identifiant. Elles sont représentées sous forme de données d'authentification statiques, qui constituent le format requis pour la bibliothèque Android Identity Credential. Pour en savoir plus sur la création de données d'authentification statiques, cliquez ici.
| Représentation JSON |
|---|
{ "expirationTimeMillis": string, // Union field |
| Champs | |
|---|---|
expirationTimeMillis |
Code temporel représentant le moment où l'objet de sécurité mobile expire. Il est indiqué en nombre de millisecondes écoulées depuis l'epoch Unix. |
Champ d'union presencetype. Oneof indiquant la manière dont le justificatif est présenté. presencetype ne peut être qu'un des éléments suivants : |
|
encryptedData |
Valeur chiffrée et métadonnées de chiffrement nécessaires pour la déchiffrer. |
unencryptedValue |
Valeur du justificatif encodée en base64. |