ConfirmationPrompt 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
用于显示确认提示的类。
[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
密钥对。 例如 android.security.keystore.KeyGenParameterSpec.Builder#setAttestationChallenge(byte[])
,AndroidKeyStore 密钥证明用于生成证书链,该证书链包含新生成的密钥 Kpub
的以下) 中的公钥 (。 <li> 应用程序将设备证明生成的证书链发送到Kpub
信赖方。 <li>信赖方 验证涉及检查根证书的证书链 (例如来自 Google) 的证书,每个证书对链中的下一个证书进行签名,以 Kpub
结尾,证明证书断言 Kpub
具有 android.security.keystore.KeyGenParameterSpec.Builder#setUserConfirmationRequired CONFIRMATION tag
集。 此外,信赖方会 Kpub
存储它,并将其与从中接收的设备相关联。 </ul>
信赖方通常是外部设备, (例如通过蓝牙) 或应用程序服务器进行连接。
在执行需要用户内容高度保证的事务之前,应用程序将执行以下操作: <ul><li> 应用程序从 信赖方 获取加密 nonce,并通过生成器帮助程序类) 将其作为 extraData
(传递给 #presentPrompt presentPrompt()
方法。 信赖方在本地存储 nonce,因为它将在后面的步骤中使用它。 <li> 如果用户批准提示,则回调中ConfirmationCallback#onConfirmed onConfirmed(byte[])
将确认响应作为 dataThatWasConfirmed
参数返回。 此 Blob 包含向用户显示的文本、 extraData
参数以及可能的其他数据。 <li> 应用程序使用之前创建的密钥对 确认响应 进行签名,并将 Blob 和签名发送给 信赖方。 <li>信赖方 检查签名是否是使用 Kpub
进行的,然后提取 promptText
与预期的匹配项,并与 extraData
之前创建的 nonce 匹配。 如果所有检查都通过,则执行事务。 </ul>
注意:必须检查 ,promptText
因为这是用户已批准的唯一部分。 为了避免为所有可能的区域设置编写分析程序,建议 信赖方 使用设备上所用的相同字符串生成器,并执行简单的字符串比较。
的 android.security.ConfirmationPrompt
Java 文档。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。
构造函数
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() |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>。<> (继承自 Object) |
Wait(Int64) |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<> (继承自 Object) |
Wait(Int64, Int32) |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<> (继承自 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) |
用于显示确认提示的类。 |