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 utilizzata 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 utilizzata per visualizzare le richieste di conferma.
Le richieste di conferma vengono visualizzate all'utente per confermare un determinato testo e vengono implementate in modo che una risposta positiva indichi con alta probabilità che l'utente abbia 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, ovvero relying party , nel modo seguente. I passaggi di installazione sono i seguenti: <ul><li> Prima del primo utilizzo, 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 nell'esempio 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 di Google), ogni certificato firma quello successivo nella catena, terminando con Kpube 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 da cui è stata ricevuta.
</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é verrà usato in un passaggio successivo.
<li> Se l'utente approva la richiesta di una risposta di conferma viene restituita nel ConfirmationCallback#onConfirmed onConfirmed(byte[]) callback come dataThatWasConfirmed parametro. Questo BLOB contiene il testo visualizzato all'utente, il extraData parametro ed eventualmente 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 verifica che la firma sia stata effettuata con Kpub e quindi estrae promptText corrisponde a ciò che è previsto e extraData corrisponde al nonce creato in precedenza. Se tutti i controlli vengono superati, la transazione viene eseguita.
</ul>
Nota: è fondamentale controllare perché promptText 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 di stringhe.
per android.security.ConfirmationPrompt.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Costruttori
| Nome | Descrizione |
|---|---|
| ConfirmationPrompt(IntPtr, JniHandleOwnership) |
Classe utilizzata per visualizzare le richieste di conferma. |
Proprietà
| Nome | Descrizione |
|---|---|
| Class |
Restituisce la classe di runtime di questo |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| JniIdentityHashCode |
Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| JniPeerMembers |
Classe utilizzata per visualizzare le richieste di conferma. |
| PeerReference |
Ottiene il riferimento all'oggetto JNI per questo peer Java. (Ereditato da Object) |
| ThresholdClass |
Classe utilizzata per visualizzare le richieste di conferma. |
| ThresholdType |
Classe utilizzata per visualizzare le richieste di conferma. |
Metodi
| Nome | Descrizione |
|---|---|
| CancelPrompt() |
Annulla una richiesta attualmente visualizzata. |
| Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
| Dispose() |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Dispose(Boolean) |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
| GetHashCode() |
Restituisce un valore di codice hash per l'oggetto . (Ereditato da Object) |
| IsSupported(Context) |
Controlla se il dispositivo supporta le richieste di conferma. |
| JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| NotifyAll() |
Riattiva tutti i thread in attesa del monitor 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>() |
Crea una matrice gestita da questo wrapper di matrice Java. (Ereditato da Object) |
| ToString() |
Restituisce una rappresentazione di stringa dell'oggetto . (Ereditato da Object) |
| UnregisterFromRuntime() |
Annulla la registrazione di questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
| Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> 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
| Nome | Descrizione |
|---|---|
| IJavaPeerable.Disposed() |
Notifica al runtime di interoperabilità che il peer gestito è stato eliminato. (Ereditato da Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
Rilascia questo Java peer a meno che non venga conservato da un altro riferimento gestito. (Ereditato da Object) |
| IJavaPeerable.Finalized() |
Notifica al runtime di interoperabilità che il peer gestito è stato finalizzato. (Ereditato da Object) |
| IJavaPeerable.JniManagedPeerState |
Ottiene lo stato che descrive la relazione tra questo peer gestito e il relativo riferimento JNI. (Ereditato da Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Imposta il codice hash dell'identità di interoperabilità per questo Java peer. (Ereditato da Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Imposta lo stato peer gestito e JNI per questo peer Java. (Ereditato da Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Imposta il riferimento all'oggetto JNI usato da questo peer gestito. (Ereditato da Object) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Classe utilizzata per visualizzare le richieste di conferma. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |