語言

KeyChain 類別

定義

該 KeyChain 類別提供存取憑證儲存中的私鑰及其對應憑證鏈的存取權。

[Android.Runtime.Register("android/security/KeyChain", DoNotGenerateAcw=true)]
public sealed class KeyChain : Java.Lang.Object
[<Android.Runtime.Register("android/security/KeyChain", DoNotGenerateAcw=true)>]
type KeyChain = class
    inherit Object
繼承
屬性

備註

該 KeyChain 類別提供存取憑證儲存中的私鑰及其對應憑證鏈的存取權。

存取 的 KeyChain 應用程式通常會經過以下步驟:

<進攻線>

<li>收到來自 的 javax.net.ssl.X509KeyManager X509KeyManager 回撥,要求私鑰。

<li>呼叫 #choosePrivateKeyAlias choosePrivateKeyAlias 讓使用者從目前可用的私鑰清單及對應的憑證鏈中選擇。 所選別名會由回調 KeyChainAliasCallback#alias回傳,若無私鑰可用或使用者取消請求則為空。

<li>呼叫,並#getPrivateKey取得憑證以返回對應#getCertificateChainjavax.net.ssl.X509KeyManager的回撥。

</ol>

應用程式可能會記住所選別名的值,以避免在後續連線時提醒使用者。#choosePrivateKeyAlias choosePrivateKeyAlias 如果別名不再有效,則在查找時會回傳 null 值

應用程式可透過 Intent 提供的 #createInstallIntent請求安裝私鑰與憑證。 透過此 Intent 方式安裝的私鑰將被存取 #choosePrivateKeyAlias ,而憑證授權中心(CA)憑證則會被所有應用程式透過預設 X509TrustManager的 S 所信任。

Java 文件 android.security.KeyChain。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

建構函式

名稱 Description
KeyChain()

欄位

名稱 Description
ActionKeyAccessChanged

廣播動作:表示私鑰的存取權限已變更。

ActionKeychainChanged

廣播動作:表示鑰匙圈內容已更改。

ActionStorageChanged

廣播動作:表示可信儲存裝置已變更。

ActionTrustStoreChanged

廣播動作:表示受信任憑證儲存的內容已變更。

ExtraCertificate

可選額外設定 X 的指定。

ExtraKeyAccessible

當應用程式能存取金鑰時,作為布林值額外欄位 #ACTION_KEY_ACCESS_CHANGED 。

ExtraKeyAlias

用作字串額外欄位, #ACTION_KEY_ACCESS_CHANGED 提供金鑰的別名。

ExtraName

可選額外設定String在Intent返回的 。#createInstallIntent

ExtraPkcs12

可選額外功能,用於Intent#createInstallIntent指定 PKCS#12 金鑰儲存庫安裝。

KeyAliasSelectionDenied

由 DPC 或委託應用程式android.app.admin.DeviceAdminReceiver#onChoosePrivateKeyAliasandroid.app.admin.DelegatedAdminReceiver#onChoosePrivateKeyAlias用於識別請求應用程式未被授權存取任何金鑰,使用者也無法手動授權存取。

屬性

名稱 Description
Class

回傳此 Object的執行時類別。

(繼承來源 Object)
Handle

底層 Android 實例的帳號。

(繼承來源 Object)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

該 KeyChain 類別提供存取憑證儲存中的私鑰及其對應憑證鏈的存取權。

(繼承來源 JavaObject)
JniPeerMembers

該 KeyChain 類別提供存取憑證儲存中的私鑰及其對應憑證鏈的存取權。

PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)
ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

(繼承來源 Object)

方法

名稱 Description
ChoosePrivateKeyAlias(Activity, IKeyChainAliasCallback, String[], IPrincipal[], String, Int32, String)

啟動 讓 Activity 使用者選擇私鑰與憑證配對的別名以進行驗證。

ChoosePrivateKeyAlias(Activity, IKeyChainAliasCallback, String[], IPrincipal[], Uri, String)

啟動 讓 Activity 使用者選擇私鑰與憑證配對的別名以進行驗證。

ChoosePrivateKeyAliasAsync(Activity, String[], IPrincipal[], String, Int32, String)

顯示系統介面,供使用者選擇私鑰別名,依主機與埠口篩選。

ChoosePrivateKeyAliasAsync(Activity, String[], IPrincipal[], Uri, String)

顯示系統介面,供使用者選擇私鑰別名,並依 URI 篩選。

ChooseX509Certificate2WithPrivateKeyAsync(Activity, String[], IPrincipal[], String, Int32, String)

顯示系統介面供使用者選擇憑證,然後以私鑰取得對應 X509Certificate2 憑證,依主機與埠口篩選。

ChooseX509Certificate2WithPrivateKeyAsync(Activity, String[], IPrincipal[], Uri, String)

顯示系統介面供使用者選擇憑證,然後以私鑰檢索對應 X509Certificate2 憑證,並以 URI 過濾。

Clone()

建立並回傳此物件的副本。

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

該 KeyChain 類別提供存取憑證儲存中的私鑰及其對應憑證鏈的存取權。

(繼承來源 JavaObject)
CreateInstallIntent()

回傳 和 Intent 可用於安裝憑證的資訊。

CreateManageCredentialsIntent(AppUriAuthenticationPolicy)

回傳 Intent 應該是應用程式用來請求管理使用者憑證的。

Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

該 KeyChain 類別提供存取憑證儲存中的私鑰及其對應憑證鏈的存取權。

(繼承來源 JavaObject)
Equals(Object)

該 KeyChain 類別提供存取憑證儲存中的私鑰及其對應憑證鏈的存取權。

(繼承來源 JavaObject)
Equals(Object)

表示是否有其他物體「等同」於此物。

(繼承來源 Object)
GetCertificateChain(Context, String)

回傳請求別名的鏈,若別名不存在或呼叫者無權限存取則回傳X509Certificate為空(詳見例外說明)。#getPrivateKey

GetCredentialManagementAppPolicy(Context)

憑證管理應用程式打電話查詢認證政策 AppUriAuthenticationPolicy。

GetHashCode()

回傳物件的雜湊碼值。

(繼承來源 Object)
GetPrivateKey(Context, String)

回傳請求別名的 , PrivateKey 若別名不存在或呼叫者無權限存取則回傳 空(詳見下方例外說明)。

GetX509Certificate2WithPrivateKey(Context, String)

從 Android 系統的 KeyChain 取得 an X509Certificate2 ,並取得其對應的私鑰。

IsBoundKeyAlgorithm(String)
已淘汰.

如果目前裝置true在匯入或生成後綁定了任何KeyChain給定PrivateKey的東西,則會返回algorithm。

IsCredentialManagementApp(Context)

檢查來電者是否是憑證管理應用程式 CredentialManagementApp。

IsKeyAlgorithmSupported(String)

如果目前裝置true支援由(KeyChain例如)指示的特定PrivateKey類型,則回傳algorithm。

JavaFinalize()
已淘汰.

當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。

(繼承來源 Object)
Notify()

喚醒一個正在該物件監視器上等待的執行緒。

(繼承來源 Object)
NotifyAll()

喚醒所有等待該物件監視器的執行緒。

(繼承來源 Object)
RemoveCredentialManagementApp(Context)

憑證管理應用程式 CredentialManagementApp 呼叫我取消註冊憑證管理應用程式,並停止管理使用者的憑證。

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

該 KeyChain 類別提供存取憑證儲存中的私鑰及其對應憑證鏈的存取權。

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

該 KeyChain 類別提供存取憑證儲存中的私鑰及其對應憑證鏈的存取權。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

該 KeyChain 類別提供存取憑證儲存中的私鑰及其對應憑證鏈的存取權。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

該 KeyChain 類別提供存取憑證儲存中的私鑰及其對應憑證鏈的存取權。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

該 KeyChain 類別提供存取憑證儲存中的私鑰及其對應憑證鏈的存取權。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

該 KeyChain 類別提供存取憑證儲存中的私鑰及其對應憑證鏈的存取權。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

該 KeyChain 類別提供存取憑證儲存中的私鑰及其對應憑證鏈的存取權。

(繼承來源 JavaObject)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

該 KeyChain 類別提供存取憑證儲存中的私鑰及其對應憑證鏈的存取權。

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用於