ConfirmationPrompt Klasse
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.
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird.
[Android.Runtime.Register("android/security/ConfirmationPrompt", ApiSince=28, DoNotGenerateAcw=true)]
public class ConfirmationPrompt : Java.Lang.Object
[<Android.Runtime.Register("android/security/ConfirmationPrompt", ApiSince=28, DoNotGenerateAcw=true)>]
type ConfirmationPrompt = class
inherit Object
- Vererbung
- Attribute
Hinweise
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird.
Bestätigungsaufforderungen werden dem Benutzer angezeigt, einen bestimmten Text zu bestätigen und so implementiert zu werden, dass eine positive Antwort mit hoher Zuverlässigkeit anzeigt, dass der Benutzer den angegebenen Text gesehen hat, auch wenn das Android-Framework (einschließlich des Kernels) kompromittiert wurde. Die Implementierung von Bestätigungsaufforderungen mit diesen Garantien erfordert dedizierte Hardwareunterstützung und ist möglicherweise nicht immer verfügbar.
Bestätigungsaufforderungen werden in der Regel mit einer externen Entität , der vertrauenden Seite , wie folgt verwendet. Die Einrichtungsschritte sind wie folgt: <ul><li> Before first use, the application generates a key-pair with the android.security.keystore.KeyGenParameterSpec.Builder#setUserConfirmationRequired CONFIRMATION tag set. Der AndroidKeyStore-Schlüsselnachweis wird z. B. verwendet, um eine Zertifikatkette zu generieren, android.security.keystore.KeyGenParameterSpec.Builder#setAttestationChallenge(byte[]) die den öffentlichen Schlüssel (Kpub im Folgenden) des neu generierten Schlüssels enthält.
<li> Die Anwendung sendet Kpub und die Zertifikatkette, die sich aus dem Gerätenachweis an die vertrauende Seite ergibt.
<li> Die vertrauende Partei überprüft die Zertifikatkette, die die Überprüfung des Stammzertifikats beinhaltet, was erwartet wird (z. B. ein Zertifikat von Google), jedes Zertifikat signiert die nächste in der Kette, endet mit Kpub, und dass das Nachweiszertifikat bestätigt, dass Kpub der android.security.keystore.KeyGenParameterSpec.Builder#setUserConfirmationRequired CONFIRMATION tag Satz festgelegt ist. Darüber hinaus speichert die vertrauende Seite sie und Kpub ordnet es dem Gerät zu, von dem es empfangen wurde.
</ul>
Die vertrauende Seite ist in der Regel ein externes Gerät (z. B. über Bluetooth verbunden) oder Anwendungsserver.
Vor dem Ausführen einer Transaktion, die eine hohe Sicherheit von Benutzerinhalten erfordert, führt die Anwendung folgende Aktionen aus: <ul><li> Die Anwendung erhält eine kryptografische Nonce von der vertrauenden Seite und übergibt dies als die extraData (über die Generator-Hilfsklasse) an die #presentPrompt presentPrompt() Methode. Die vertrauende Seite speichert die Nonce lokal, da sie in einem späteren Schritt verwendet wird.
<li> Wenn der Benutzer die Aufforderung genehmigt, wird eine Bestätigungsantwort im ConfirmationCallback#onConfirmed onConfirmed(byte[]) Rückruf als dataThatWasConfirmed Parameter zurückgegeben. Dieses Blob enthält den Text, der dem Benutzer, dem extraData Parameter und möglicherweise anderen Daten angezeigt wurde.
<li> Die Anwendung signiert die Bestätigungsantwort mit dem zuvor erstellten Schlüssel und sendet das Blob und die Signatur an die vertrauende Seite.
<li> Die vertrauende Seite überprüft, ob die Signatur erstellt Kpub wurde, und extrahiert promptText dann die erwarteten Ergebnisse und extraData entspricht der zuvor erstellten Nonce. Wenn alle Prüfungen bestanden sind, wird die Transaktion ausgeführt.
</ul>
Hinweis: Es ist wichtig, den promptText Grund zu überprüfen, da dies der einzige Teil ist, den der Benutzer genehmigt hat. Um das Schreiben von Parsern für alle möglichen Gebietsschemas zu vermeiden, empfiehlt es sich, denselben Zeichenfolgengenerator wie auf dem Gerät zu verwenden und einen einfachen Zeichenfolgenvergleich durchzuführen.
Java Dokumentation für android.security.ConfirmationPrompt.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.
Konstruktoren
| Name | Beschreibung |
|---|---|
| ConfirmationPrompt(IntPtr, JniHandleOwnership) |
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Class |
Gibt die Laufzeitklasse dieses Werts |
| Handle |
Das Handle für die zugrunde liegende Android-Instanz. (Geerbt von Object) |
| JniIdentityHashCode |
Ruft den Identitätshashcode ab, der diesem Java Peer von der Interop-Laufzeit zugewiesen ist. (Geerbt von Object) |
| JniManagedPeerState |
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird. (Geerbt von JavaObject) |
| JniPeerMembers |
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird. |
| PeerReference |
Ruft den JNI-Objektverweis für diesen Java Peer ab. (Geerbt von Object) |
| ThresholdClass |
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird. |
| ThresholdType |
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird. |
Methoden
| Name | Beschreibung |
|---|---|
| CancelPrompt() |
Bricht eine aktuell angezeigte Eingabeaufforderung ab. |
| Clone() |
Erstellt und gibt eine Kopie dieses Objekts zurück. (Geerbt von Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird. (Geerbt von JavaObject) |
| Dispose() |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| Dispose(Boolean) |
Veröffentlicht die Ressourcen, die von diesem Java Peer gehalten werden. (Geerbt von Object) |
| DisposeUnlessReferenced() |
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird. (Geerbt von JavaObject) |
| Equals(Object) |
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird. (Geerbt von JavaObject) |
| Equals(Object) |
Gibt an, ob ein anderes Objekt "gleich" diesem Objekt ist. (Geerbt von Object) |
| GetHashCode() |
Gibt einen Hashcodewert für das Objekt zurück. (Geerbt von Object) |
| IsSupported(Context) |
Überprüft, ob das Gerät Bestätigungsaufforderungen unterstützt. |
| JavaFinalize() |
Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection bestimmt, dass keine weiteren Verweise auf das Objekt vorhanden sind. (Geerbt von Object) |
| Notify() |
Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet. (Geerbt von Object) |
| NotifyAll() |
Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten. (Geerbt von Object) |
| PresentPrompt(IExecutor, ConfirmationCallback) |
Fordert eine Bestätigungsaufforderung an, die dem Benutzer angezeigt werden soll. |
| SetHandle(IntPtr, JniHandleOwnership) |
Legt die Handle-Eigenschaft fest. (Geerbt von Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird. (Geerbt von JavaObject) |
| ToArray<T>() |
Erstellt ein verwaltetes Array aus diesem Java Arraywrapper. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolgendarstellung des Objekts zurück. (Geerbt von Object) |
| UnregisterFromRuntime() |
Hebt die Registrierung dieses Java Peers aus der Interop-Laufzeit auf. (Geerbt von Object) |
| Wait() |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch em benachrichtigt/em< oder >em<unterbrochen>/em<.><> (Geerbt von Object) |
| Wait(Int64, Int32) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
| Wait(Int64) |
Bewirkt, dass der aktuelle Thread wartet, bis er wach ist, in der Regel durch <em>benachrichtigt</em> oder <em>unterbrochen</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IJavaPeerable.Disposed() |
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird. (Geerbt von JavaObject) |
| IJavaPeerable.Finalized() |
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird. (Geerbt von JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird. (Geerbt von JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird. (Geerbt von JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird. (Geerbt von JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird. (Geerbt von JavaObject) |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ruft den JNI-Namen des Typs der Instanz |
| JavaAs<TResult>(IJavaPeerable) |
Versuchen Sie, die Eingabe |
| JavaCast<TResult>(IJavaObject) |
Führt eine android-laufzeitgecheckte Typkonvertierung aus. |
| JavaCast<TResult>(IJavaObject) |
Klasse, die zum Anzeigen von Bestätigungsaufforderungen verwendet wird. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Versuchen Sie, die Eingabe |