X509CertSelector 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
一个 CertSelector 选择 X509Certificates 与所有指定条件匹配的条件。
[Android.Runtime.Register("java/security/cert/X509CertSelector", DoNotGenerateAcw=true)]
public class X509CertSelector : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Security.Cert.ICertSelector
[<Android.Runtime.Register("java/security/cert/X509CertSelector", DoNotGenerateAcw=true)>]
type X509CertSelector = class
inherit Object
interface ICertSelector
interface ICloneable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 继承
- 属性
- 实现
注解
一个 CertSelector 选择 X509Certificates 与所有指定条件匹配的条件。 从一个 CertStore 证书中选择证书以生成符合 PKIX 的认证路径时,此类特别有用。
首次构造时, X509CertSelector 没有启用条件,并且每个 get 方法都返回默认值(null或 -1 该方法 #getBasicConstraints getBasicConstraints )。 因此,该方法 #match match 将返回 true 任何 X509Certificate。 通常,通过调用 #setIssuer setIssuer 或 #setKeyUsage setKeyUsage(例如)启用多个条件,然后将 X509CertSelector 该条件传递给 CertStore#getCertificates CertStore.getCertificates 或一些类似的方法。
可以启用多个条件(例如调用 #setIssuer setIssuer 和 #setSerialNumber setSerialNumber调用),以便 match 该方法通常唯一匹配单个 X509Certificate条件。 我们通常说,因为两个颁发 CA 可以具有相同的可分辨名称,并且每个证书都颁发具有相同序列号的证书。 其他唯一组合包括颁发者、使用者、subjectKeyIdentifier 和/或 subjectPublicKey 条件。
有关下面提到的 X.509 证书扩展的定义,请参阅 RFC 5280:Internet X.509 公钥基础结构证书和 CRL 配置文件 。
<b>并发访问</b>
除非另行指定,否则此类中定义的方法不是线程安全的。 需要同时访问单个对象的多个线程应自行同步并提供必要的锁定。 每个操作单独对象的多个线程都不需要同步。
在 1.4 中添加。
Java文档java.security.cert.X509CertSelector。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。
构造函数
| 名称 | 说明 |
|---|---|
| X509CertSelector() |
创建 |
| X509CertSelector(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
属性
| 名称 | 说明 |
|---|---|
| BasicConstraints |
返回基本约束约束。 - 或 - 设置基本约束约束。 |
| Certificate |
返回 certificateEquals 条件。 - 或 - 设置 certificateEquals 条件。 |
| CertificateValid |
返回 certificateValid 条件。 - 或 - 设置 certificateValid 条件。 |
| Class |
返回此 |
| ExtendedKeyUsage |
返回 extendedKeyUsage 条件。 - 或 - 设置 extendedKeyUsage 条件。 |
| Handle |
基础 Android 实例的句柄。 (继承自 Object) |
| Issuer |
以 .. 的形式 |
| IssuerAsString |
<强>否认</强>,改用 #getIssuer()或 #getIssuerAsBytes()。 |
| JniIdentityHashCode |
一个 |
| JniPeerMembers |
一个 |
| MatchAllSubjectAltNames |
指示 |
| PathToNames |
返回 pathToNames 条件的副本。 - 或 - 设置 pathToNames 条件。 |
| PeerReference |
一个 |
| Policy |
返回策略条件。 - 或 - 设置策略约束。 |
| PrivateKeyValid |
返回 privateKeyValid 条件。 - 或 - 设置 privateKeyValid 条件。 |
| SerialNumber |
返回 serialNumber 条件。 - 或 - 设置 serialNumber 条件。 |
| Subject |
以 .. 的形式 |
| SubjectAlternativeNames |
返回 subjectAlternativeNames 条件的副本。 - 或 - 设置 subjectAlternativeNames 条件。 |
| SubjectAsString |
<强>否认</强>,改用 #getSubject()或 #getSubjectAsBytes()。 |
| SubjectPublicKey |
返回 subjectPublicKey 条件。 - 或 - 设置 subjectPublicKey 条件。 |
| SubjectPublicKeyAlgID |
返回 subjectPublicKeyAlgID 条件。 - 或 - 设置 subjectPublicKeyAlgID 条件。 |
| ThresholdClass |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
| ThresholdType |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
方法
| 名称 | 说明 |
|---|---|
| AddPathToName(Int32, Byte[]) |
将名称添加到 pathToNames 条件。 |
| AddPathToName(Int32, String) |
将名称添加到 pathToNames 条件。 |
| AddSubjectAlternativeName(Int32, Byte[]) |
将名称添加到 subjectAlternativeNames 条件。 |
| AddSubjectAlternativeName(Int32, String) |
将名称添加到 subjectAlternativeNames 条件。 |
| Clone() |
返回此对象的副本。 |
| Dispose() |
一个 |
| Dispose(Boolean) |
一个 |
| Equals(Object) |
指示其他对象是否“等于”此对象。 (继承自 Object) |
| GetAuthorityKeyIdentifier() |
返回 authorityKeyIdentifier 条件。 |
| GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
| GetIssuerAsBytes() |
以字节数组的形式返回颁发者条件。 |
| GetKeyUsage() |
返回 keyUsage 条件。 |
| GetNameConstraints() |
返回名称约束条件。 |
| GetSubjectAsBytes() |
以字节数组的形式返回主题条件。 |
| GetSubjectKeyIdentifier() |
返回 subjectKeyIdentifier 条件。 |
| JavaFinalize() |
当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。 (继承自 Object) |
| Match(Certificate) |
确定是否应选择 a |
| Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
| NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
| SetAuthorityKeyIdentifier(Byte[]) |
设置 authorityKeyIdentifier 条件。 |
| SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
| SetIssuer(Byte[]) |
设置颁发者条件。 |
| SetIssuer(String) |
<强>否认</强>,请改用 #setIssuer(X500Principal)或 #setIssuer(byte[])。 |
| SetKeyUsage(Boolean[]) |
设置 keyUsage 条件。 |
| SetNameConstraints(Byte[]) |
设置名称约束条件。 |
| SetSubject(Byte[]) |
设置主题条件。 |
| SetSubject(String) |
<强>否认</强>,请改用 #setSubject(X500Principal)或 #setSubject(byte[])。 |
| SetSubjectKeyIdentifier(Byte[]) |
设置 subjectKeyIdentifier 条件。 |
| SetSubjectPublicKey(Byte[]) |
设置 subjectPublicKey 条件。 |
| ToArray<T>() |
一个 |
| ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
| UnregisterFromRuntime() |
一个 |
| Wait() |
使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><> (继承自 Object) |
| Wait(Int64, Int32) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。 (继承自 Object) |
| Wait(Int64) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。 (继承自 Object) |
显式接口实现
| 名称 | 说明 |
|---|---|
| IJavaPeerable.Disposed() |
一个 |
| IJavaPeerable.DisposeUnlessReferenced() |
一个 |
| IJavaPeerable.Finalized() |
一个 |
| IJavaPeerable.JniManagedPeerState |
一个 |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
一个 |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
一个 |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
一个 |
扩展方法
| 名称 | 说明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
获取实例 |
| JavaAs<TResult>(IJavaPeerable) |
尝试强制 |
| JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
| JavaCast<TResult>(IJavaObject) |
一个 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
尝试强制 |