KeyChain.GetCertificateChain(Context, String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回X509Certificate
所请求别名的链;如果别名不存在,或者调用方没有访问别名的权限,则返回 null(请参阅有关异常的注释)。#getPrivateKey
[Android.Runtime.Register("getCertificateChain", "(Landroid/content/Context;Ljava/lang/String;)[Ljava/security/cert/X509Certificate;", "")]
public static Java.Security.Cert.X509Certificate[]? GetCertificateChain(Android.Content.Context context, string alias);
[<Android.Runtime.Register("getCertificateChain", "(Landroid/content/Context;Ljava/lang/String;)[Ljava/security/cert/X509Certificate;", "")>]
static member GetCertificateChain : Android.Content.Context * string -> Java.Security.Cert.X509Certificate[]
参数
- context
- Context
- alias
- String
所需证书链的别名,通常通过 KeyChainAliasCallback#alias
.
返回
- 属性
例外
如果别名有效,但访问别名时出现问题。
如果从主线程调用,则为 。
注解
返回X509Certificate
所请求别名的链;如果别名不存在,或者调用方没有访问别名的权限,则返回 null(请参阅有关异常的注释)。#getPrivateKey
<strong Note:</strong>> 如果安装别名时显式指定了证书链,此方法将返回该链。 如果仅在安装时指定了客户端证书,此方法将尝试使用所有可用的信任定位点(预安装并添加用户)生成证书链。
此方法在等待连接到另一个进程时可能会阻止,并且永远不能从主线程调用。
Service
由于Activity
上下文是短生存期的,并且可以随时从主线程销毁,因此依赖长期上下文(例如从中Context#getApplicationContext()
返回的上下文)更安全。
如果调用方指定其缺少授权的别名,则必须再次调用 #choosePrivateKeyAlias
。 有关应对此方案的更多详细信息,请参阅 #getPrivateKey
。
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。