ConfirmationPrompt Класс

Определение

Класс, используемый для отображения запросов подтверждения.

[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
Наследование
ConfirmationPrompt
Атрибуты

Комментарии

Класс, используемый для отображения запросов подтверждения.

Запросы на подтверждение — это запросы на подтверждение заданного текста, которые реализуются таким образом, чтобы положительный ответ с высокой уверенностью указывал на то, что пользователь видел данный текст, даже если платформа Android (включая ядро) была скомпрометирована. Реализация запросов на подтверждение с этими гарантиями требует выделенной поддержки оборудования и может быть не всегда доступна.

Запросы на подтверждение обычно используются с внешней сущностью — проверяющей стороной — следующим образом. Действия по настройке выполняются следующим образом: <ul><li> Перед первым использованием приложение создает пару "ключ-ключ" с набором android.security.keystore.KeyGenParameterSpec.Builder#setUserConfirmationRequired CONFIRMATION tag . Аттестация ключа AndroidKeyStore, например, используется для создания цепочки сертификатов, android.security.keystore.KeyGenParameterSpec.Builder#setAttestationChallenge(byte[]) включающей открытый ключ (Kpub в следующем примере) нового ключа. <li> Приложение отправляет и цепочку сертификатов Kpub , полученную в результате аттестации устройства , проверяющей стороне. <Li>Проверяющая сторона проверяет цепочку сертификатов, которая включает в себя проверку того, что корневой сертификат является ожидаемым (например, сертификат от Google), каждый сертификат подписывает следующий сертификат в цепочке, заканчивающийся Kpub, и что сертификат аттестации утверждает, что Kpub имеет android.security.keystore.KeyGenParameterSpec.Builder#setUserConfirmationRequired CONFIRMATION tag набор. Кроме того, проверяющая сторона сохраняет Kpub и связывает ее с устройством, с которым оно было получено. </ul>

Проверяющая сторона обычно является внешним устройством (например, подключенным через Bluetooth) или сервером приложений.

Перед выполнением транзакции, требующей высокой гарантии содержимого пользователя, приложение выполняет следующие действия: <ul><li> . Приложение получает криптографическое nonce от проверяющей стороны и передает его как extraData (через вспомогательный класс построителя) #presentPrompt presentPrompt() в метод . Проверяющая сторона сохраняет nonce локально, так как она будет использовать его на следующем шаге. <Li> Если пользователь утверждает запрос, в обратном ConfirmationCallback#onConfirmed onConfirmed(byte[]) вызове возвращается ответ подтверждения в качестве dataThatWasConfirmed параметра . Этот большой двоичный объект содержит текст, который был показан пользователю, extraData параметр и, возможно, другие данные. <li> Приложение подписывает ответ подтверждения с помощью ранее созданного ключа и отправляет большой двоичный объект и подпись проверяющей стороне. <Li>Проверяющая сторона проверяет, что подпись была сделана с Kpub помощью , а затем извлекает promptText соответствие ожидаемому и extraData ранее созданному параметру nonce. Если все проверки пройдены, транзакция выполняется. </ul>

Примечание. Крайне важно проверка , promptText так как это единственная часть, утвержденная пользователем. Чтобы избежать написания средств синтаксического анализа для всех возможных языковых стандартов, рекомендуется, чтобы проверяющая сторона использовала тот же генератор строк, что и на устройстве, и выполняла простое сравнение строк.

Документация по Java для android.security.ConfirmationPrompt.

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.

Конструкторы

ConfirmationPrompt(IntPtr, JniHandleOwnership)

Класс, используемый для отображения запросов подтверждения.

Свойства

Class

Возвращает класс среды выполнения данного объекта Object.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
JniIdentityHashCode

Класс, используемый для отображения запросов подтверждения.

(Унаследовано от Object)
JniPeerMembers

Класс, используемый для отображения запросов подтверждения.

PeerReference

Класс, используемый для отображения запросов подтверждения.

(Унаследовано от Object)
ThresholdClass

Класс, используемый для отображения запросов подтверждения.

ThresholdType

Класс, используемый для отображения запросов подтверждения.

Методы

CancelPrompt()

Отменяет отображаемый запрос.

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Dispose()

Класс, используемый для отображения запросов подтверждения.

(Унаследовано от Object)
Dispose(Boolean)

Класс, используемый для отображения запросов подтверждения.

(Унаследовано от Object)
Equals(Object)

Указывает, равен ли какой-то другой объект этому объекту.

(Унаследовано от Object)
GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
IsSupported(Context)

Проверяет, поддерживает ли устройство запросы на подтверждение.

JavaFinalize()

Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект .

(Унаследовано от Object)
Notify()

Пробуждает один поток, ожидающий монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Пробуждает все потоки, ожидающие на мониторе этого объекта.

(Унаследовано от Object)
PresentPrompt(IExecutor, ConfirmationCallback)

Запрашивает запрос подтверждения для представления пользователю.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
ToArray<T>()

Класс, используемый для отображения запросов подтверждения.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Класс, используемый для отображения запросов подтверждения.

(Унаследовано от Object)
Wait()

Вызывает ожидание текущего потока, пока он не пробудится, как правило, из-за <уведомления><<> или>прерывания или прерывания.><

(Унаследовано от Object)
Wait(Int64)

Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени.

(Унаследовано от Object)
Wait(Int64, Int32)

Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

IJavaPeerable.Disposed()

Класс, используемый для отображения запросов подтверждения.

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Класс, используемый для отображения запросов подтверждения.

(Унаследовано от Object)
IJavaPeerable.Finalized()

Класс, используемый для отображения запросов подтверждения.

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Класс, используемый для отображения запросов подтверждения.

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Класс, используемый для отображения запросов подтверждения.

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Класс, используемый для отображения запросов подтверждения.

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Класс, используемый для отображения запросов подтверждения.

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверенного средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Класс, используемый для отображения запросов подтверждения.

GetJniTypeName(IJavaPeerable)

Класс, используемый для отображения запросов подтверждения.

Применяется к