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
- Наследование
- Атрибуты
Комментарии
Класс, используемый для отображения запросов подтверждения.
Запросы на подтверждение — это запросы на подтверждение заданного текста, которые реализуются таким образом, чтобы положительный ответ с высокой уверенностью указывал на то, что пользователь видел данный текст, даже если платформа 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 |
Возвращает класс среды выполнения данного объекта |
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) |
Класс, используемый для отображения запросов подтверждения. |