JavaTM 2 Platform
Standard Ed. 6

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 - 如果指定的 X509Certificatenull

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 - 如果指定的 caPrincipalpubKey 參數為 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 2253 String 格式提供
pubKey - 最受信任的 CA 的公鑰
nameConstraints - 一個 byte 陣列,包含為檢查 nameConstraints 所使用的 NameConstraints 擴展的 ASN.1 DER 編碼。只包括該擴展的值,不包括 OID 或關鍵程度標誌。指定 null 可省略該參數。
拋出:
IllegalArgumentException - 如果指定的 caName 參數是空 (caName.length() == 0),或者格式不正確,或者無法解碼該 nameConstraints
NullPointerException - 如果指定的 caNamepubKey 參數為 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

toString

public String toString()
返回描述此 TrustAnchor 的格式化字元串。

覆寫:
類別 Object 中的 toString
返回:
描述此 TrustAnchor 的格式化字元串

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only