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 提供对凭据存储中私钥及其相应证书链的访问。

访问 KeyChain 的应用程序通常会执行以下步骤:

<老>

<li>从 接收请求 javax.net.ssl.X509KeyManager X509KeyManager 私钥的回调。

<li>调用 #choosePrivateKeyAlias choosePrivateKeyAlias 以允许用户从当前可用的私钥列表和相应的证书链中进行选择。 所选别名将由回调 KeyChainAliasCallback#alias返回,如果没有可用的私钥或用户取消请求,则返回 null。

<li>调用 #getPrivateKey#getCertificateChain 以检索凭据以返回到相应的 javax.net.ssl.X509KeyManager 回调。

</老>

应用程序可能会记住所选别名的值,以避免在后续连接时提示用户 #choosePrivateKeyAlias choosePrivateKeyAlias 。 如果别名不再有效,则使用该值查找时将返回 null

应用程序可以通过 提供的 #createInstallIntent请求安装私钥和证书Intent。 通过此 Intent 方式安装的私钥可通过 访问 #choosePrivateKeyAlias ,而证书颁发机构 (CA) 证书将信任所有应用程序通过默认 X509TrustManager的 。

android.security.KeyChainJava 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

构造函数

KeyChain()

字段

ActionKeyAccessChanged

广播操作:指示私钥的访问权限已更改。

ActionKeychainChanged

广播操作:指示密钥链的内容已更改。

ActionStorageChanged

广播操作:指示受信任的存储已更改。

ActionTrustStoreChanged

广播操作:指示受信任的证书存储的内容已更改。

ExtraCertificate

可选,用于指定 X。

ExtraKeyAccessible

用作 中的 #ACTION_KEY_ACCESS_CHANGED 布尔额外字段,以提供密钥是否可供应用程序访问。

ExtraKeyAlias

用作 中的 #ACTION_KEY_ACCESS_CHANGED 字符串额外字段,以提供密钥的别名。

ExtraName

可选,用于在 返回的 #createInstallIntentIntent指定String凭据名称。

ExtraPkcs12

可选,可与 返回#createInstallIntent的 一起使用Intent,以指定要安装的 PKCS#12 密钥存储。

KeyAliasSelectionDenied

由 或 中的 android.app.admin.DeviceAdminReceiver#onChoosePrivateKeyAliasandroid.app.admin.DelegatedAdminReceiver#onChoosePrivateKeyAlias DPC 或委托应用用于标识请求应用未授予对任何密钥的访问权限,并且用户也无法手动授予访问权限。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

KeyChain 提供对凭据存储中私钥及其相应证书链的访问。

(继承自 Object)
JniPeerMembers

KeyChain 提供对凭据存储中私钥及其相应证书链的访问。

PeerReference

KeyChain 提供对凭据存储中私钥及其相应证书链的访问。

(继承自 Object)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不应直接从代码使用。

(继承自 Object)
ThresholdType

此 API 支持 Mono for Android 基础结构,不应直接从代码使用。

(继承自 Object)

方法

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

启动 供 Activity 用户选择用于身份验证的私钥和证书对的别名。

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

启动 供 Activity 用户选择用于身份验证的私钥和证书对的别名。

Clone()

创建并返回此对象的副本。

(继承自 Object)
CreateInstallIntent()

返回 Intent 可用于凭据安装的 。

CreateManageCredentialsIntent(AppUriAuthenticationPolicy)

返回 Intent 应用应用来请求管理用户凭据的 。

Dispose()

KeyChain 提供对凭据存储中私钥及其相应证书链的访问。

(继承自 Object)
Dispose(Boolean)

KeyChain 提供对凭据存储中私钥及其相应证书链的访问。

(继承自 Object)
Equals(Object)

指示其他某个对象是否“等于”此对象。

(继承自 Object)
GetCertificateChain(Context, String)

X509Certificate返回所请求别名的链;如果别名不存在,或者调用方无权访问该别名,则返回该链, (在) 中#getPrivateKey查看异常的注释。

GetCredentialManagementAppPolicy(Context)

由凭据管理应用调用以获取身份验证策略 AppUriAuthenticationPolicy

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
GetPrivateKey(Context, String)

PrivateKey返回所请求别名的 ;如果别名不存在或调用方无权访问别名,则返回 null, (请参阅以下) 的异常说明。

IsBoundKeyAlgorithm(String)

true如果当前设备的 KeyChain 在导入或生成后将给定algorithm的任何 PrivateKey 绑定到设备,则返回 。

IsCredentialManagementApp(Context)

检查调用方是否是凭据管理应用 CredentialManagementApp

IsKeyAlgorithmSupported(String)

true如果当前设备的 KeyChain 支持 (e 指示algorithm的特定PrivateKey类型,则返回 。

JavaFinalize()

当垃圾回收确定不再引用对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
RemoveCredentialManagementApp(Context)

由凭据管理应用 CredentialManagementApp 调用以注销凭据管理应用并停止管理用户的凭据。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
ToArray<T>()

KeyChain 提供对凭据存储中私钥及其相应证书链的访问。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

KeyChain 提供对凭据存储中私钥及其相应证书链的访问。

(继承自 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()

KeyChain 提供对凭据存储中私钥及其相应证书链的访问。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

KeyChain 提供对凭据存储中私钥及其相应证书链的访问。

(继承自 Object)
IJavaPeerable.Finalized()

KeyChain 提供对凭据存储中私钥及其相应证书链的访问。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

KeyChain 提供对凭据存储中私钥及其相应证书链的访问。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

KeyChain 提供对凭据存储中私钥及其相应证书链的访问。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

KeyChain 提供对凭据存储中私钥及其相应证书链的访问。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

KeyChain 提供对凭据存储中私钥及其相应证书链的访问。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

KeyChain 提供对凭据存储中私钥及其相应证书链的访问。

GetJniTypeName(IJavaPeerable)

KeyChain 提供对凭据存储中私钥及其相应证书链的访问。

适用于