ConfirmationPrompt Classe

Definição

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
ConfirmationPrompt
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 Object.

(Herdado de Object)
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 self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

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 selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a