語言

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 框架(包括核心)已被入侵。 在這些保證下實作確認提示需要專門的硬體支援,且不一定隨時可用。

確認提示通常以以下方式與外部實體—— 依賴方(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

回傳此 Object的執行時類別。

(繼承來源 Object)
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)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

用於顯示確認提示的類別。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於