Most visited

Recently visited

Added in API level 1

TrustAnchor

public class TrustAnchor
extends Object

java.lang.Object
   ↳ java.security.cert.TrustAnchor


信任锚或最受信任的认证中心(CA)。

这个类表示一个“最可信的CA”,它被用作验证X.509认证路径的信任锚点。 最可信的CA包括CA的公钥,CA的名称,以及对可以使用该密钥验证的路径集合的任何约束。 这些参数可以以可信X509Certificate的形式或作为单独的参数来指定。

并发访问

所有TrustAnchor对象必须是不可变的且线程安全的。 也就是说,多个线程可以并发地在单个TrustAnchor对象(或多个对象)上调用此类中定义的方法,而不会产生不良影响。 要求TrustAnchor对象是不可变的并且是线程安全的,因此可以将它们传递给各种代码,而不用担心协调访问。 本规定适用于该类的所有公共字段和方法以及任何由子类添加或覆盖的内容。

也可以看看:

Summary

Public constructors

TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints)

使用指定的 X509Certificate和可选的名称约束创建一个 TrustAnchor的实例,这些约束在验证X.509证书路径时用作附加约束。

TrustAnchor(X500Principal caPrincipal, PublicKey pubKey, byte[] nameConstraints)

创建 TrustAnchor的实例,其中将最可信的CA指定为X500Principal和公钥。

TrustAnchor(String caName, PublicKey pubKey, byte[] nameConstraints)

创建 TrustAnchor的实例,其中将最可信的CA指定为专有名称和公用密钥。

Public methods

final X500Principal getCA()

以X500Principal的形式返回最受信任的CA的名称。

final String getCAName()

以RFC 2253 String格式返回最受信任的CA的名称。

final PublicKey getCAPublicKey()

返回最值得信任的CA的公钥。

final byte[] getNameConstraints()

返回名称约束参数。

final X509Certificate getTrustedCert()

返回最受信任的CA证书。

String toString()

返回描述 TrustAnchor的格式化字符串。

Inherited methods

From class java.lang.Object

Public constructors

TrustAnchor

Added in API level 1
TrustAnchor (X509Certificate trustedCert, 
                byte[] nameConstraints)

使用指定的 X509Certificate和可选的名称约束创建 TrustAnchor的实例,这些约束在验证X.509证书路径时将用作附加约束。

名称约束被指定为一个字节数组。 这个字节数组应该包含DER编码形式的名称约束,因为它们将出现在RFC 3280和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}
 

请注意,提供的名称约束字节数组已克隆,以防止后续修改。

Parameters
trustedCert X509Certificate: a trusted X509Certificate
nameConstraints byte: a byte array containing the ASN.1 DER encoding of a NameConstraints extension to be used for checking name constraints. Only the value of the extension is included, not the OID or criticality flag. Specify null to omit the parameter.
Throws
IllegalArgumentException if the name constraints cannot be decoded
NullPointerException if the specified X509Certificate is null

TrustAnchor

Added in API level 1
TrustAnchor (X500Principal caPrincipal, 
                PublicKey pubKey, 
                byte[] nameConstraints)

创建TrustAnchor的实例,其中将最可信的CA指定为X500Principal和公钥。 名称约束是一个可选参数,用于在验证X.509认证路径时作为附加约束。

名称约束被指定为一个字节数组。 该字节数组包含名称约束的DER编码形式,因为它们出现在RFC 3280和X.509中定义的NameConstraints结构中。 该结构的ASN.1表示法在TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints) 的文档中提供。

请注意,这里提供的名称约束字节数组被克隆,以防止后续修改。

Parameters
caPrincipal X500Principal: the name of the most-trusted CA as X500Principal
pubKey PublicKey: the public key of the most-trusted CA
nameConstraints byte: a byte array containing the ASN.1 DER encoding of a NameConstraints extension to be used for checking name constraints. Only the value of the extension is included, not the OID or criticality flag. Specify null to omit the parameter.
Throws
NullPointerException if the specified caPrincipal or pubKey parameter is null

TrustAnchor

Added in API level 1
TrustAnchor (String caName, 
                PublicKey pubKey, 
                byte[] nameConstraints)

创建一个TrustAnchor的实例,其中将最可信的CA指定为专有名称和公用密钥。 名称约束是一个可选参数,用于在验证X.509认证路径时作为附加约束。

名称约束被指定为一个字节数组。 该字节数组包含名称约束的DER编码形式,因为它们出现在RFC 3280和X.509中定义的NameConstraints结构中。 此结构的ASN.1表示法在TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints) 的文档中提供。

请注意,这里提供的名称约束字节数组被克隆,以防止后续修改。

Parameters
caName String: the X.500 distinguished name of the most-trusted CA in RFC 2253 String format
pubKey PublicKey: the public key of the most-trusted CA
nameConstraints byte: a byte array containing the ASN.1 DER encoding of a NameConstraints extension to be used for checking name constraints. Only the value of the extension is included, not the OID or criticality flag. Specify null to omit the parameter.
Throws
IllegalArgumentException if the specified caName parameter is empty (caName.length() == 0) or incorrectly formatted or the name constraints cannot be decoded
NullPointerException if the specified caName or pubKey parameter is null

Public methods

getCA

Added in API level 1
X500Principal getCA ()

以X500Principal的形式返回最受信任的CA的名称。

Returns
X500Principal the X.500 distinguished name of the most-trusted CA, or null if the trust anchor was not specified as a trusted public key and name or X500Principal pair

getCAName

Added in API level 1
String getCAName ()

以RFC 2253 String格式返回最受信任的CA的名称。

Returns
String the X.500 distinguished name of the most-trusted CA, or null if the trust anchor was not specified as a trusted public key and name or X500Principal pair

getCAPublicKey

Added in API level 1
PublicKey getCAPublicKey ()

返回最值得信任的CA的公钥。

Returns
PublicKey the public key of the most-trusted CA, or null if the trust anchor was not specified as a trusted public key and name or X500Principal pair

getNameConstraints

Added in API level 1
byte[] getNameConstraints ()

返回名称约束参数。 指定的名称约束与此信任锚相关联,并且旨在用作验证X.509认证路径时的附加约束。

名称约束作为字节数组返回。 该字节数组包含名称约束的DER编码形式,因为它们出现在RFC 3280和X.509中定义的NameConstraints结构中。 此结构的ASN.1表示法在TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints) 的文档中提供。

请注意,返回的字节数组被克隆以防止后续修改。

Returns
byte[] a byte array containing the ASN.1 DER encoding of a NameConstraints extension used for checking name constraints, or null if not set.

getTrustedCert

Added in API level 1
X509Certificate getTrustedCert ()

返回最受信任的CA证书。

Returns
X509Certificate a trusted X509Certificate or null if the trust anchor was not specified as a trusted certificate

toString

Added in API level 1
String toString ()

返回描述 TrustAnchor的格式化字符串。

Returns
String a formatted string describing the TrustAnchor

Hooray!