ConfirmationPrompt Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Classe usada para exibir prompts de confirmação.
[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
- Herança
- Atributos
Comentários
Classe usada para exibir prompts de confirmação.
Os prompts de confirmação são prompts mostrados ao usuário para confirmar um determinado texto e são implementados de forma que uma resposta positiva indica com alta confiança que o usuário viu o texto especificado, mesmo que a estrutura do Android (incluindo o kernel) tenha sido comprometida. Implementar prompts de confirmação com essas garantias requer suporte de hardware dedicado e pode nem sempre estar disponível.
Os prompts de confirmação normalmente são usados com uma entidade externa - a Terceira Parte Confiável - da seguinte maneira. As etapas de instalação são as seguintes: <ul><li> Antes do primeiro uso, o aplicativo gera um par de chaves com o android.security.keystore.KeyGenParameterSpec.Builder#setUserConfirmationRequired CONFIRMATION tag conjunto. O atestado de chave AndroidKeyStore, por exemplo, android.security.keystore.KeyGenParameterSpec.Builder#setAttestationChallenge(byte[]) é usado para gerar uma cadeia de certificados que inclui a chave pública (Kpub no seguinte) da chave recém-gerada.
<li> O aplicativo envia Kpub e a cadeia de certificados resultante do atestado do dispositivo para a Terceira Parte Confiável.
<li> A Terceira Parte Confiável valida a cadeia de certificados que envolve a verificação do certificado raiz é o que é esperado (por exemplo, um certificado do Google), cada certificado assina o próximo na cadeia, terminando com Kpub, e que o certificado de atestado afirma que Kpub tem o android.security.keystore.KeyGenParameterSpec.Builder#setUserConfirmationRequired CONFIRMATION tag conjunto. Além disso, a terceira parte confiável armazena Kpub e associa-o ao dispositivo do qual foi recebido.
</ul>
A Terceira Parte Confiável normalmente é um dispositivo externo (por exemplo, conectado via Bluetooth) ou servidor de aplicativos.
Antes de executar uma transação que requer uma alta garantia de conteúdo do usuário, o aplicativo faz o seguinte: <ul><li> O aplicativo obtém um nonce criptográfico da Terceira Parte Confiável e passa isso como a extraData (por meio da classe auxiliar do Construtor) para o #presentPrompt presentPrompt() método. A Terceira Parte Confiável armazena o nonce localmente, pois ele o usará em uma etapa posterior.
<li> Se o usuário aprovar o prompt, uma Resposta de Confirmação será retornada no ConfirmationCallback#onConfirmed onConfirmed(byte[]) retorno de chamada como o dataThatWasConfirmed parâmetro. Esse blob contém o texto que foi mostrado ao usuário, ao extraData parâmetro e possivelmente a outros dados.
<li> O aplicativo assina a Resposta de Confirmação com a chave criada anteriormente e envia o blob e a assinatura para a Terceira Parte Confiável.
<li> A Terceira Parte Confiável verifica se Kpub a assinatura foi feita e, em seguida, extrai correspondências promptText com o esperado e extraData corresponde ao nó criado anteriormente. Se todas as verificações forem aprovadas, a transação será executada.
</ul>
Observação: é vital verificar porque promptText essa é a única parte que o usuário aprovou. Para evitar a gravação de analisadores para todas as localidades possíveis, é recomendável que a Terceira Parte Confiável use o mesmo gerador de cadeia de caracteres usado no dispositivo e execute uma comparação de cadeia de caracteres simples.
Java documentação para android.security.ConfirmationPrompt.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Construtores
| Nome | Description |
|---|---|
| ConfirmationPrompt(IntPtr, JniHandleOwnership) |
Classe usada para exibir prompts de confirmação. |
Propriedades
| Nome | Description |
|---|---|
| Class |
Retorna a classe de runtime deste |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| JniIdentityHashCode |
Obtém o código de hash de identidade atribuído a esse par Java pelo runtime de interoperabilidade. (Herdado de Object) |
| JniManagedPeerState |
Classe usada para exibir prompts de confirmação. (Herdado de JavaObject) |
| JniPeerMembers |
Classe usada para exibir prompts de confirmação. |
| PeerReference |
Obtém a referência de objeto JNI para este par Java. (Herdado de Object) |
| ThresholdClass |
Classe usada para exibir prompts de confirmação. |
| ThresholdType |
Classe usada para exibir prompts de confirmação. |
Métodos
| Nome | Description |
|---|---|
| CancelPrompt() |
Cancela um prompt que está sendo exibido no momento. |
| Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Classe usada para exibir prompts de confirmação. (Herdado de JavaObject) |
| Dispose() |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| Dispose(Boolean) |
Libera os recursos mantidos por esse par Java. (Herdado de Object) |
| DisposeUnlessReferenced() |
Classe usada para exibir prompts de confirmação. (Herdado de JavaObject) |
| Equals(Object) |
Classe usada para exibir prompts de confirmação. (Herdado de JavaObject) |
| Equals(Object) |
Indica se algum outro objeto é "igual a" este. (Herdado de Object) |
| GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
| IsSupported(Context) |
Verifica se o dispositivo dá suporte a prompts de confirmação. |
| JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
| Notify() |
Ativa um único thread que está aguardando no monitor deste objeto. (Herdado de Object) |
| NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
| PresentPrompt(IExecutor, ConfirmationCallback) |
Solicita que um prompt de confirmação seja apresentado ao usuário. |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle (Herdado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Classe usada para exibir prompts de confirmação. (Herdado de JavaObject) |
| ToArray<T>() |
Cria uma matriz gerenciada com base nesse wrapper de matriz Java. (Herdado de Object) |
| ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
| UnregisterFromRuntime() |
Cancela o registro desse par Java do runtime de interoperabilidade. (Herdado de Object) |
| Wait() |
Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<> (Herdado de Object) |
| Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IJavaPeerable.Disposed() |
Classe usada para exibir prompts de confirmação. (Herdado de JavaObject) |
| IJavaPeerable.Finalized() |
Classe usada para exibir prompts de confirmação. (Herdado de JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
Classe usada para exibir prompts de confirmação. (Herdado de JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Classe usada para exibir prompts de confirmação. (Herdado de JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Classe usada para exibir prompts de confirmação. (Herdado de JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Classe usada para exibir prompts de confirmação. (Herdado de JavaObject) |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo marcada por runtime do Android. |
| JavaCast<TResult>(IJavaObject) |
Classe usada para exibir prompts de confirmação. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |