PresentationSession.GetCredentialData(String, CredentialDataRequest) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft Daten aus einer benannten Anmeldeinformation in der aktuellen Präsentationssitzung ab.
[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
Parameter
- credentialName
- String
der Name der abzurufenden Anmeldeinformationen.
- request
- CredentialDataRequest
die Daten, die aus den Anmeldeinformationen abgerufen werden sollen
Gibt zurück
Wenn die Anmeldeinformationen nicht gefunden wurden, wird NULL zurückgegeben. Andernfalls ein CredentialDataResult
Objekt, das Eintragsdaten nach Namespace organisiert und eine kryptografisch authentifizierte Darstellung derselben Daten enthält, die an die aktuelle Sitzung gebunden sind.
- Attribute
Hinweise
Ruft Daten aus einer benannten Anmeldeinformation in der aktuellen Präsentationssitzung ab.
Wenn eine Zugriffssteuerungsprüfung für einen der angeforderten Einträge fehlschlägt oder der Eintrag nicht vorhanden ist, wird der Eintrag einfach nicht zurückgegeben. Die Anwendung kann dies mithilfe der CredentialDataResult.Entries#getStatus(String, String)
Methode für jede der angeforderten Einträge erkennen.
Die Anwendung sollte keine Annahmen darüber treffen, ob die Benutzerauthentifizierung erforderlich ist. Stattdessen sollte die Anwendung zuerst die Werte der Datenelemente anfordern und dann die zurückgegebene CredentialDataResult.Entries
Überprüfen. Wenn CredentialDataResult.Entries#STATUS_USER_AUTHENTICATION_FAILED
die Anwendung zurückgegeben wird, sollte ein android.hardware.biometrics.BiometricPrompt.CryptoObject
Objekt abgerufen werden, das auf dieses Objekt verweist und es mit einem android.hardware.biometrics.BiometricPrompt
. Nach erfolgreicher Authentifizierung kann die Anwendung erneut aufrufen #getCredentialData(String, CredentialDataRequest)
.
Es ist zulässig, diese Methode mehrmals mit demselben Anmeldeinformationsnamen aufzurufen. Wenn dies geschieht, wird derselbe Authentifizierungsschlüssel verwendet.
Wenn die Lesesignatur im Anforderungsparameter (über die CredentialDataRequest.Builder#setReaderSignature(byte[])
Methode) festgelegt wird, muss sie die Bytes einer COSE_Sign1
Struktur enthalten, wie in RFC 8152 definiert. Für die Nutzlast muss verwendet werden und die losgelöste Nutzlast nil
ist die ReaderAuthenticationBytes
unten beschriebene CBOR.
ReaderAuthentication = [
"ReaderAuthentication",
SessionTranscript,
ItemsRequestBytes
]
ItemsRequestBytes = #6.24(bstr .cbor ItemsRequest)
ReaderAuthenticationBytes = #6.24(bstr .cbor ReaderAuthentication)
dabei ItemsRequestBytes
handelt es sich um die Bytes des Anforderungsnachrichtensatzes im Anforderungsparameter (über die CredentialDataRequest.Builder#setRequestMessage(byte[])
Methode).
Der öffentliche Schlüssel, der dem Schlüssel entspricht, der zum Erstellen der Signatur verwendet wird, finden Sie im x5chain
ungeschützten Headerelement der COSE_Sign1
Struktur (wie in draft-ietf-cose-x509-08 beschrieben). Es wird mindestens ein Zertifikat in diesem Element geben, und es kann mehr geben (und wenn ja, muss jedes Zertifikat von seinem Nachfolger signiert werden).
Datenelemente, die durch die Leserauthentifizierung geschützt sind, werden zurückgegeben, wenn und nur dann, requestMessage
wenn es von der höchsten Zertifikatkette des Lesers signiert ist, und das Datenelement mit einem mit einem AccessControlProfile
X.509-Zertifikat konfigurierten Zertifikat für einen Schlüssel konfiguriert ist, der in der Zertifikatkette angezeigt wird.
Beachten Sie, dass die Anforderungsnachricht CBOR nur zum Erzwingen der Leseleseauthentifizierung verwendet wird, es wird nicht verwendet, um zu bestimmen, welche Einträge diese API zurückgeben wird. Es wird erwartet, dass die Anwendung die Anforderungsnachricht analysiert und nach Benutzereinstellungen und/oder Zustimmung gefiltert hat.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.