JavaTM 2 Platform
Standard Ed. 6

java.security.cert
類別 PKIXBuilderParameters

java.lang.Object
  繼承者 java.security.cert.PKIXParameters
      繼承者 java.security.cert.PKIXBuilderParameters
所有已實作的介面:
Cloneable, CertPathParameters

public class PKIXBuilderParameters
extends PKIXParameters

用作 PKIX CertPathBuilder 演算法的輸入的參數。

PKIX CertPathBuilder 使用這些參數建構一個已根據 PKIX 證書路徑驗證演算法驗證的 CertPath

要實例化 PKIXBuilderParameters 物件,應用程序必須指定一個或多個由 PKIX 證書路徑驗證演算法所定義的最受信任的 CA。可以使用兩個建構子中的一個來指定最受信任的 CA。應用程序可以調用 PKIXBuilderParameters(Set, CertSelector) 來指定一個 TrustAnchor 物件 Set,其中每個物件都標識一個最受信任的 CA。另外,應用程序也可調用 PKIXBuilderParameters(KeyStore, CertSelector) 來指定一個 KeyStore 實例,其中包含多個受信任的證書項,每個項都認為是一個最受信任的 CA。

另外,應用程序必須指定有關目標證書的限制,CertPathBuilder 將試圖為該目標證書建構路徑。以 CertSelector 物件的形式指定這些限制。這些限制應該為 CertPathBuilder 提供足夠的搜尋標準以找到該目標證書。X509Certificate 的最小標準通常包括了主體名稱和/或一個或多個主體替換名稱。如果未指定足夠的標準,則 CertPathBuilder 可能拋出 CertPathBuilderException

共時存取

除非另行指定,否則此類別中所定義的方法不是執行緒安全的。需要共時存取單個物件的多個執行緒應該在它們之間實作同步並提供所需的鎖定。對於每個執行緒都操作一個不同物件的多個執行緒而言,無需實作同步。

從以下版本開始:
1.4
另請參見:
CertPathBuilder

建構子摘要
PKIXBuilderParameters(KeyStore keystore, CertSelector targetConstraints)
          創建一個 PKIXBuilderParameters 實例,它根據指定 KeyStore 中所包含的受信任證書項產生最受信任的 CA 集。
PKIXBuilderParameters(Set<TrustAnchor> trustAnchors, CertSelector targetConstraints)
          創建具有指定最受信任 CA SetPKIXBuilderParameters 的實例。
 
方法摘要
 int getMaxPathLength()
          返回證書路徑中可能存在的中間非自發佈證書的最大數目值。
 void setMaxPathLength(int maxPathLength)
          設置證書路徑中可能存在的非自發中間證書的最大數目值。
 String toString()
          返回描述該參數的格式化字元串。
 
從類別 java.security.cert.PKIXParameters 繼承的方法
addCertPathChecker, addCertStore, clone, getCertPathCheckers, getCertStores, getDate, getInitialPolicies, getPolicyQualifiersRejected, getSigProvider, getTargetCertConstraints, getTrustAnchors, isAnyPolicyInhibited, isExplicitPolicyRequired, isPolicyMappingInhibited, isRevocationEnabled, setAnyPolicyInhibited, setCertPathCheckers, setCertStores, setDate, setExplicitPolicyRequired, setInitialPolicies, setPolicyMappingInhibited, setPolicyQualifiersRejected, setRevocationEnabled, setSigProvider, setTargetCertConstraints, setTrustAnchors
 
從類別 java.lang.Object 繼承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

PKIXBuilderParameters

public PKIXBuilderParameters(Set<TrustAnchor> trustAnchors,
                             CertSelector targetConstraints)
                      throws InvalidAlgorithmParameterException
創建具有指定最受信任 CA SetPKIXBuilderParameters 的實例。該 set 中的每個元素都是一個 TrustAnchor

注意,為了保護該 Set 以防後續修改,會複製該 Set。

參數:
trustAnchors - 一個 TrustAnchor Set
targetConstraints - 指定有關目標證書限制的 CertSelector
拋出:
InvalidAlgorithmParameterException - 如果 trustAnchors 為空 (trustAnchors.isEmpty() == true)
NullPointerException - 如果 trustAnchorsnull
ClassCastException - 如果 trustAnchors 的任一元素不是 java.security.cert.TrustAnchor 型別的

PKIXBuilderParameters

public PKIXBuilderParameters(KeyStore keystore,
                             CertSelector targetConstraints)
                      throws KeyStoreException,
                             InvalidAlgorithmParameterException
創建一個 PKIXBuilderParameters 實例,它根據指定 KeyStore 中所包含的受信任證書項產生最受信任的 CA 集。只考慮那些包含受信任 X509Certificate 的 keystore 項;忽略所有其他證書型別。

參數:
keystore - 一個 KeyStore,將根據它來產生最受信任的 CA 集
targetConstraints - 指定有關目標證書限制的 CertSelector
拋出:
KeyStoreException - 如果尚未初始化 keystore
InvalidAlgorithmParameterException - 如果 keystore 不包含受信的證書項
NullPointerException - 如果 keystorenull
方法詳細資訊

setMaxPathLength

public void setMaxPathLength(int maxPathLength)
設置證書路徑中可能存在的非自發中間證書的最大數目值。如果主體和發佈方欄位中出現的 DN 相同並且不為空,則該證書是自發佈的。注意,證書路徑中最後一個證書不是中間證書,並且不受此限制的約束。通常最後一個證書是一個結束實體證書,但它可能是一個 CA 證書。PKIX CertPathBuilder 實例所建構的路徑不能超過所指定的長度。

值為 0 意味著該路徑只包含單個證書。值為 -1 則意味著該路徑長度是不受約束的(即沒有最大值)。如果未指定,則預設的最大路徑長度是 5。設置小於 -1 的值將導致拋出異常。

如果任意 CA 證書包含 BasicConstraintsExtension,那麼只要結果是一個更短長度的證書路徑,則擴展的 pathLenConstraint 欄位覆寫最大路徑長度參數。

參數:
maxPathLength - 證書路徑中可能存在的中間非自發佈證書的最大數
拋出:
InvalidParameterException - 如果將 maxPathLength 設置為小於 -1 的值
另請參見:
getMaxPathLength()

getMaxPathLength

public int getMaxPathLength()
返回證書路徑中可能存在的中間非自發佈證書的最大數目值。有關詳細資訊,請參閱 setMaxPathLength(int) 方法。

返回:
證書路徑中可能存在的中間非自發佈證書的最大數,如果沒有限制,則返回 -1
另請參見:
setMaxPathLength(int)

toString

public String toString()
返回描述該參數的格式化字元串。

覆寫:
類別 PKIXParameters 中的 toString
返回:
描述該參數的格式化字元串

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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