PresentationSession.GetCredentialData(String, CredentialDataRequest) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Récupère des données à partir d’informations d’identification nommées dans la session de présentation active.
[Android.Runtime.Register("getCredentialData", "(Ljava/lang/String;Landroid/security/identity/CredentialDataRequest;)Landroid/security/identity/CredentialDataResult;", "GetGetCredentialData_Ljava_lang_String_Landroid_security_identity_CredentialDataRequest_Handler", ApiSince=33)]
public abstract Android.Security.Identity.CredentialDataResult? GetCredentialData (string credentialName, Android.Security.Identity.CredentialDataRequest request);
[<Android.Runtime.Register("getCredentialData", "(Ljava/lang/String;Landroid/security/identity/CredentialDataRequest;)Landroid/security/identity/CredentialDataResult;", "GetGetCredentialData_Ljava_lang_String_Landroid_security_identity_CredentialDataRequest_Handler", ApiSince=33)>]
abstract member GetCredentialData : string * Android.Security.Identity.CredentialDataRequest -> Android.Security.Identity.CredentialDataResult
Paramètres
- credentialName
- String
nom des informations d’identification à récupérer.
- request
- CredentialDataRequest
données à récupérer à partir des informations d’identification
Retours
Si les informations d’identification n’ont pas été trouvées, retourne null. Sinon, un CredentialDataResult
objet contenant des données d’entrée organisées par espace de noms et une représentation authentifiée par chiffrement des mêmes données, liée à la session active.
- Attributs
Remarques
Récupère des données à partir d’informations d’identification nommées dans la session de présentation active.
Si une vérification du contrôle d’accès échoue pour l’une des entrées demandées ou si l’entrée n’existe pas, l’entrée n’est simplement pas retournée. L’application peut la détecter à l’aide de la CredentialDataResult.Entries#getStatus(String, String)
méthode sur chacune des entrées demandées.
L’application ne doit pas faire d’hypothèses sur la nécessité de l’authentification de l’utilisateur. Au lieu de cela, l’application doit demander d’abord les valeurs des éléments de données, puis examiner le retour CredentialDataResult.Entries
. Si CredentialDataResult.Entries#STATUS_USER_AUTHENTICATION_FAILED
elle est retournée, l’application doit obtenir une android.hardware.biometrics.BiometricPrompt.CryptoObject
référence à cet objet et l’utiliser avec un android.hardware.biometrics.BiometricPrompt
. Une fois l’authentification réussie, l’application peut appeler #getCredentialData(String, CredentialDataRequest)
à nouveau.
Il est permis d’appeler cette méthode plusieurs fois à l’aide du même nom d’informations d’identification. Si cette opération est effectuée, la même clé d’authentification sera utilisée.
Si la signature du lecteur est définie dans le paramètre de requête (via la CredentialDataRequest.Builder#setReaderSignature(byte[])
méthode), elle doit contenir les octets d’une COSE_Sign1
structure tel que défini dans RFC 8152. La charge utile nil
doit être utilisée et la charge utile détachée est la ReaderAuthenticationBytes
CBOR décrite ci-dessous.
ReaderAuthentication = [
"ReaderAuthentication",
SessionTranscript,
ItemsRequestBytes
]
ItemsRequestBytes = #6.24(bstr .cbor ItemsRequest)
ReaderAuthenticationBytes = #6.24(bstr .cbor ReaderAuthentication)
où ItemsRequestBytes
sont les octets du jeu de messages de requête dans le paramètre de requête (via la CredentialDataRequest.Builder#setRequestMessage(byte[])
méthode).
La clé publique correspondant à la clé utilisée pour créer la signature est disponible dans l’élément x5chain
d’en-tête non protégé de la COSE_Sign1
structure (comme décrit dans draft-ietf-cose-x509-08). Il y aura au moins un certificat dans cet élément et il peut y avoir plus (et le cas échéant, chaque certificat doit être signé par son successeur).
Les éléments de données protégés par l’authentification du lecteur sont retournés si, et uniquement s’ils requestMessage
sont signés par le certificat le plus haut dans la chaîne de certificats du lecteur, et l’élément de données est configuré avec un AccessControlProfile
certificat X.509 pour une clé qui apparaît dans la chaîne de certificats.
Notez que le message de requête CBOR est utilisé uniquement pour appliquer l’authentification du lecteur, il n’est pas utilisé pour déterminer les entrées retournées par cette API. L’application est censée avoir analysé le message de demande et l’a filtré en fonction de la préférence de l’utilisateur et/ou du consentement.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.