ConfirmationPrompt Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Classe usata per visualizzare le richieste di conferma.
[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
- Ereditarietà
- Attributi
Commenti
Classe usata per visualizzare le richieste di conferma.
Le richieste di conferma vengono richieste visualizzate all'utente per confermare un determinato testo e vengono implementate in modo che una risposta positiva indica con alta attendibilità che l'utente ha visto il testo specificato, anche se il framework Android (incluso il kernel) è stato compromesso. L'implementazione di richieste di conferma con queste garanzie richiede supporto hardware dedicato e potrebbe non essere sempre disponibile.
Le richieste di conferma vengono in genere usate con un'entità esterna, la Relying Party , nel modo seguente. I passaggi di installazione sono i seguenti: <ul><li> Prima dell'uso, l'applicazione genera una coppia di chiavi con il android.security.keystore.KeyGenParameterSpec.Builder#setUserConfirmationRequired CONFIRMATION tag
set. L'attestazione della chiave AndroidKeyStore, ad esempio, android.security.keystore.KeyGenParameterSpec.Builder#setAttestationChallenge(byte[])
viene usata per generare una catena di certificati che include la chiave pubblica (Kpub
nella seguente) della chiave appena generata. <li> L'applicazione invia Kpub
e la catena di certificati risultante dall'attestazione del dispositivo alla Relying Party. <li> La Relying Party convalida la catena di certificati che implica il controllo del certificato radice è quello previsto (ad esempio un certificato da Google), ogni certificato firma il successivo nella catena, terminando con Kpub
e che il certificato di attestazione asserisce che Kpub
ha il android.security.keystore.KeyGenParameterSpec.Builder#setUserConfirmationRequired CONFIRMATION tag
set. Inoltre, la relying party archivia Kpub
e la associa al dispositivo ricevuto. </ul>
La Relying Party è in genere un dispositivo esterno (ad esempio connesso tramite Bluetooth) o un server applicazioni.
Prima di eseguire una transazione che richiede un'elevata garanzia del contenuto utente, l'applicazione esegue le operazioni seguenti: <ul><li> L'applicazione ottiene un nonce crittografico dalla Relying Party e lo passa come extraData
(tramite la classe helper Builder) al #presentPrompt presentPrompt()
metodo. La Relying Party archivia il nonce in locale perché lo userà in un passaggio successivo. <li> Se l'utente approva il prompt di una risposta di conferma viene restituito nel ConfirmationCallback#onConfirmed onConfirmed(byte[])
callback come dataThatWasConfirmed
parametro. Questo BLOB contiene il testo visualizzato all'utente, al extraData
parametro e eventualmente ad altri dati. <li> L'applicazione firma la risposta di conferma con la chiave creata in precedenza e invia il BLOB e la firma alla Relying Party. <li> La Relying Party controlla che la firma sia stata effettuata con Kpub
e quindi estraa promptText
corrisponde a ciò che è previsto e extraData
corrisponde al nonce creato in precedenza. Se vengono superati tutti i controlli, la transazione viene eseguita. </ul>
Nota: è fondamentale controllare promptText
perché questa è l'unica parte che l'utente ha approvato. Per evitare di scrivere parser per tutte le impostazioni locali possibili, è consigliabile che Relying Party usi lo stesso generatore di stringhe usato nel dispositivo ed esegue un semplice confronto tra stringhe.
Documentazione Java per android.security.ConfirmationPrompt
.
Le parti di questa pagina sono modifiche in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .
Costruttori
ConfirmationPrompt(IntPtr, JniHandleOwnership) |
Classe usata per visualizzare le richieste di conferma. |
Proprietà
Class |
Restituisce la classe di runtime di questo |
Handle |
Handle all'istanza di Android sottostante. (Ereditato da Object) |
JniIdentityHashCode |
Classe usata per visualizzare le richieste di conferma. (Ereditato da Object) |
JniPeerMembers |
Classe usata per visualizzare le richieste di conferma. |
PeerReference |
Classe usata per visualizzare le richieste di conferma. (Ereditato da Object) |
ThresholdClass |
Classe usata per visualizzare le richieste di conferma. |
ThresholdType |
Classe usata per visualizzare le richieste di conferma. |
Metodi
CancelPrompt() |
Annulla una richiesta attualmente visualizzata. |
Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
Dispose() |
Classe usata per visualizzare le richieste di conferma. (Ereditato da Object) |
Dispose(Boolean) |
Classe usata per visualizzare le richieste di conferma. (Ereditato da Object) |
Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
GetHashCode() |
Restituisce un valore del codice hash per l'oggetto. (Ereditato da Object) |
IsSupported(Context) |
Verifica se il dispositivo supporta le richieste di conferma. |
JavaFinalize() |
Chiamato dal Garbage Collector in un oggetto quando Garbage Collection determina che non sono presenti più riferimenti all'oggetto. (Ereditato da Object) |
Notify() |
Riattiva un singolo thread in attesa del monitoraggio dell'oggetto. (Ereditato da Object) |
NotifyAll() |
Riattiva tutti i thread in attesa del monitoraggio dell'oggetto. (Ereditato da Object) |
PresentPrompt(IExecutor, ConfirmationCallback) |
Richiede una richiesta di conferma da presentare all'utente. |
SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
ToArray<T>() |
Classe usata per visualizzare le richieste di conferma. (Ereditato da Object) |
ToString() |
Restituisce una rappresentazione in formato stringa dell'oggetto. (Ereditato da Object) |
UnregisterFromRuntime() |
Classe usata per visualizzare le richieste di conferma. (Ereditato da Object) |
Wait() |
Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere eseguendo>una notifica</em o <em interrotto</>em>>.< (Ereditato da Object) |
Wait(Int64) |
Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale. (Ereditato da Object) |
Wait(Int64, Int32) |
Causa l'attesa del thread corrente fino a quando non viene svegliata, in genere <>eseguendo una notifica</em o <em interrotto/>>em>o fino a quando non è trascorsa< una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
IJavaPeerable.Disposed() |
Classe usata per visualizzare le richieste di conferma. (Ereditato da Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Classe usata per visualizzare le richieste di conferma. (Ereditato da Object) |
IJavaPeerable.Finalized() |
Classe usata per visualizzare le richieste di conferma. (Ereditato da Object) |
IJavaPeerable.JniManagedPeerState |
Classe usata per visualizzare le richieste di conferma. (Ereditato da Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Classe usata per visualizzare le richieste di conferma. (Ereditato da Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Classe usata per visualizzare le richieste di conferma. (Ereditato da Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Classe usata per visualizzare le richieste di conferma. (Ereditato da Object) |
Metodi di estensione
JavaCast<TResult>(IJavaObject) |
Esegue una conversione dei tipi controllati dal runtime Android. |
JavaCast<TResult>(IJavaObject) |
Classe usata per visualizzare le richieste di conferma. |
GetJniTypeName(IJavaPeerable) |
Classe usata per visualizzare le richieste di conferma. |