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 框架(包括核心)已被入侵。 在這些保證下實作確認提示需要專門的硬體支援,且不一定隨時可用。
確認提示通常以以下方式與外部實體—— 依賴方(Relieing Party )使用。 設定步驟如下:<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,並透過 Builder 助手類別將此 extraData nonce 傳遞給方法。#presentPrompt presentPrompt()
依賴方會把無念頭儲存在本地,因為之後會在後續步驟使用。
<li> 如果使用者批准提示,回調中會以 ConfirmationCallback#onConfirmed onConfirmed(byte[]) 作為參數回傳dataThatWasConfirmed。 這個 blob 包含顯示給使用者的文字、 extraData 參數,以及可能的其他資料。
<li> 應用程式會用先前建立的金鑰簽署 確認回應 ,並將 blob 和簽名傳送給 依賴方。
<li> 依賴 方 會檢查簽名是否以 建立 Kpub ,然後擷取 promptText 與預期相符且 extraData 與先前建立的 nonce 相符。 若所有檢查通過,交易即被執行。
</ul>
注意:請務必檢查, promptText 因為這是用戶唯一核准的部分。 為避免為所有可能的地點撰寫解析器,建議 依賴方 使用與裝置相同的字串產生器,並進行簡單的字串比較。
Java 文件 android.security.ConfirmationPrompt。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| ConfirmationPrompt(IntPtr, JniHandleOwnership) |
用於顯示確認提示的類別。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
用於顯示確認提示的類別。 (繼承來源 JavaObject) |
| JniPeerMembers |
用於顯示確認提示的類別。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
用於顯示確認提示的類別。 |
| ThresholdType |
用於顯示確認提示的類別。 |
方法
| 名稱 | Description |
|---|---|
| CancelPrompt() |
取消目前顯示的提示。 |
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
用於顯示確認提示的類別。 (繼承來源 JavaObject) |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
用於顯示確認提示的類別。 (繼承來源 JavaObject) |
| Equals(Object) |
用於顯示確認提示的類別。 (繼承來源 JavaObject) |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| IsSupported(Context) |
檢查裝置是否支援確認提示。 |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| PresentPrompt(IExecutor, ConfirmationCallback) |
請求向使用者呈現確認提示。 |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
用於顯示確認提示的類別。 (繼承來源 JavaObject) |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
用於顯示確認提示的類別。 (繼承來源 JavaObject) |
| IJavaPeerable.Finalized() |
用於顯示確認提示的類別。 (繼承來源 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
用於顯示確認提示的類別。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
用於顯示確認提示的類別。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
用於顯示確認提示的類別。 (繼承來源 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
用於顯示確認提示的類別。 (繼承來源 JavaObject) |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
用於顯示確認提示的類別。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |