|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.security.cert
类 TrustAnchor
java.lang.Object java.security.cert.TrustAnchor
-
public class TrustAnchor
- extends Object
一个信任定位点或最受信任的证书颁发机构 (CA)。
此类表示“最受信任的 CA”,该 CA 用作验证 X.509 证书路径的信任定位点。最受信任的 CA 包括该 CA 的公钥、该 CA 的名称,以及可能使用此密钥所验证的路径集上的所有限制。可以受信任的 X509Certificate
形式或以单个参数的形式来指定这些参数。
并发访问
所有 TrustAnchor
对象必须是不可变的和线程安全的。也就是说,多个线程在单个 TrustAnchor
对象(或多个对象)上并发调用此类中所定义的各种方法不会产生什么恶果。要求 TrustAnchor
对象是不可变的并且是线程安全的就允许将其传递到各种代码片断中,而无需担心并列的访问。此规定适用于此类的所有公共字段和方法,以及由子类添加或重写的所有公共字段和方法。
- 从以下版本开始:
- 1.4
- 另请参见:
-
PKIXParameters.PKIXParameters(Set)
,PKIXBuilderParameters.PKIXBuilderParameters(Set, CertSelector)
构造方法摘要 | |
---|---|
TrustAnchor(String caName, PublicKey pubKey, byte[] nameConstraints) 创建一个 TrustAnchor 实例,其中以不同的名称和公钥的形式指定最受信任的 CA。 |
|
TrustAnchor(X500Principal caPrincipal, PublicKey pubKey, byte[] nameConstraints) 创建一个 TrustAnchor 实例,其中以 X500Principal 和公钥的形式指定最受信任的 CA。 |
|
TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints) 创建具有指定 X509Certificate 和可选 nameConstraints 的 TrustAnchor 实例,在验证 X.509 证书路径时,该 nameConstraints 用作额外的限制条件。 |
方法摘要 | |
---|---|
X500Principal |
getCA() 以 X500Principal 的形式返回最受信任的 CA 的名称。 |
String |
getCAName() 以 RFC 2253 String 格式返回最受信任的 CA 的名称。 |
PublicKey |
getCAPublicKey() 返回最受信任的 CA 的公钥。 |
byte[] |
getNameConstraints() 返回 nameConstraints 参数。 |
X509Certificate |
getTrustedCert() 返回最受信任的 CA 证书。 |
String |
toString() 返回描述此 TrustAnchor 的格式化字符串。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
TrustAnchor
public TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints)
-
创建具有指定
X509Certificate
和可选 nameConstraints 的TrustAnchor
实例,在验证 X.509 证书路径时,该 nameConstraints 用作额外的限制条件。以 byte 数组的形式指定该 nameConstraints。此 byte 数组应该包含 DER 编码形式的 nameConstraints,因为它们将出现在 RFC 2459 和 X.509 内所定义的 NameConstraints 结构中。此结构的 ASN.1 定义如下。
NameConstraints ::= SEQUENCE { permittedSubtrees [0] GeneralSubtrees OPTIONAL, excludedSubtrees [1] GeneralSubtrees OPTIONAL } GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree GeneralSubtree ::= SEQUENCE { base GeneralName, minimum [0] BaseDistance DEFAULT 0, maximum [1] BaseDistance OPTIONAL } BaseDistance ::= INTEGER (0..MAX) GeneralName ::= CHOICE { otherName [0] OtherName, rfc822Name [1] IA5String, dNSName [2] IA5String, x400Address [3] ORAddress, directoryName [4] Name, ediPartyName [5] EDIPartyName, uniformResourceIdentifier [6] IA5String, iPAddress [7] OCTET STRING, registeredID [8] OBJECT IDENTIFIER}
注意,为了防止后续修改,将复制所提供的 nameConstraints byte 数组。
- 参数:
-
trustedCert
- 受信任的X509Certificate
-
nameConstraints
- 一个 byte 数组,包含为检查 nameConstraints 所使用的 NameConstraints 扩展的 ASN.1 DER 编码。只包括该扩展的值,不包括 OID 或关键程度标志。指定null
可省略该参数。 - 抛出:
-
IllegalArgumentException
- 如果无法解码该 nameConstraints -
NullPointerException
- 如果指定的X509Certificate
为null
TrustAnchor
public TrustAnchor(X500Principal caPrincipal, PublicKey pubKey, byte[] nameConstraints)
-
创建一个
TrustAnchor
实例,其中以 X500Principal 和公钥的形式指定最受信任的 CA。nameConstraints 是可选的参数,在验证 X.509 证书路径时,将其用作额外的限制条件。以 byte 数组的形式指定该 nameConstraints。此 byte 数组包含 DER 编码形式的 nameConstraints,因为它们将出现在 RFC 2459 和 X.509 内所定义的 NameConstraints 结构中。
TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints)
的文档中提供了此结构的 ASN.1 符号。注意,为了防止后续修改,将复制此处所提供的 nameConstraints byte 数组。
- 参数:
-
caPrincipal
- 最受信任的 CA 的名称,以 X500Principal 形式提供 -
pubKey
- 最受信任的 CA 的公钥 -
nameConstraints
- 一个 byte 数组,包含为检查 nameConstraints 所使用的 NameConstraints 扩展的 ASN.1 DER 编码。只包括该扩展的值,不包括 OID 或关键程度标志。指定null
可省略该参数。 - 抛出:
-
NullPointerException
- 如果指定的caPrincipal
或pubKey
参数为null
- 从以下版本开始:
- 1.5
TrustAnchor
public TrustAnchor(String caName, PublicKey pubKey, byte[] nameConstraints)
-
创建一个
TrustAnchor
实例,其中以不同的名称和公钥的形式指定最受信任的 CA。nameConstraints 是可选的参数,在验证 X.509 证书路径时,将其用作额外的限制条件。以 byte 数组的形式指定该 nameConstraints。此 byte 数组包含 DER 编码形式的 nameConstraints,因为它们将出现在 RFC 2459 和 X.509 内所定义的 NameConstraints 结构中。
TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints)
的文档中提供了此结构的 ASN.1 符号。注意,为了防止后续修改,将复制此处所提供的 nameConstraints byte 数组。
- 参数:
-
caName
- 最受信任的 CA 的 X.500 区分名,以 RFC 2253String
格式提供 -
pubKey
- 最受信任的 CA 的公钥 -
nameConstraints
- 一个 byte 数组,包含为检查 nameConstraints 所使用的 NameConstraints 扩展的 ASN.1 DER 编码。只包括该扩展的值,不包括 OID 或关键程度标志。指定null
可省略该参数。 - 抛出:
-
IllegalArgumentException
- 如果指定的caName
参数是空(caName.length() == 0)
,或者格式不正确,或者无法解码该 nameConstraints -
NullPointerException
- 如果指定的caName
或pubKey
参数为null
方法详细信息 |
---|
getTrustedCert
public final X509Certificate getTrustedCert()
- 返回最受信任的 CA 证书。
-
- 返回:
-
受信任的
X509Certificate
,如果信任定位点未被指定为受信任的证书,则返回null
getCA
public final X500Principal getCA()
- 以 X500Principal 的形式返回最受信任的 CA 的名称。
-
- 返回:
-
最受信任的 CA 的 X.500 区分名,如果信任定位点未被指定为受信任公钥和名称或 X500Principal 对,则返回
null
- 从以下版本开始:
- 1.5
getCAName
public final String getCAName()
-
以 RFC 2253
String
格式返回最受信任的 CA 的名称。 -
- 返回:
-
最受信任的 CA 的 X.500 区分名,如果信任定位点未被指定为受信任公钥和名称或 X500Principal 对,则返回
null
getCAPublicKey
public final PublicKey getCAPublicKey()
- 返回最受信任的 CA 的公钥。
-
- 返回:
-
最受信任的 CA 的公钥,如果信任定位点未被指定为受信任公钥和名称或 X500Principal 对,则返回
null
getNameConstraints
public final byte[] getNameConstraints()
-
返回 nameConstraints 参数。指定的 nameConstraints 是与此信任定位点相关联的,并且在验证 X.509 证书路径时,将其用作额外的限制条件。
以 byte 数组的形式返回该 nameConstraints。此 byte 数组包含 DER 编码形式的 nameConstraints,因为它们将出现在 RFC 2459 和 X.509 内所定义的 NameConstraints 结构中。
TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints)
的文档中提供了此结构的 ASN.1 符号。注意,为了保护后续的修改,将复制返回的 byte 数组。
-
- 返回:
-
一个 byte 数组,包含为检查 nameConstraints 所使用的 NameConstraints 扩展的 ASN.1 DER 编码,如果未设置,则返回
null
。