JavaTM 2 Platform
Standard Ed. 6

java.security.cert
類別 PKIXCertPathChecker

java.lang.Object
  繼承者 java.security.cert.PKIXCertPathChecker
所有已實作的介面:
Cloneable

public abstract class PKIXCertPathChecker
extends Object
implements Cloneable

X509Certificate 執行一種或多種檢查的抽象類別。

可創建 PKIXCertPathChecker 類別的具體實作,以擴展 PKIX 證書路徑驗證演算法。例如,一種實作可以檢查並處理證書路徑中每個證書的一種關鍵私有擴展。

PKIXCertPathChecker 實例可以用作 PKIXParametersPKIXBuilderParameters 類別中的 setCertPathCheckersaddCertPathChecker 方法的參數。然後為 PKIX CertPathValidatorCertPathBuilder 實作所處理的每個證書依次調用每個 PKIXCertPathCheckercheck 方法。

可以在證書路徑中的連續證書上多次調用 PKIXCertPathChecker。應該由具體的子類別維護那些檢查連續證書所必需的所有內部狀態。init 方法用於初始化該檢查器的內部狀態,這樣就可以檢查新證書路徑中的各個證書。為了允許 PKIX CertPathBuilder 高效地回溯並嘗試其他路徑,如有必要,有狀態的實作必須覆寫該 clone 方法。在這種情況下,通過恢復已複製的 PKIXCertPathCheckerCertPathBuilder 能夠恢復以前的路徑驗證狀態。

呈現給 PKIXCertPathChecker 的證書順序可以是正向的(從目標到最受信任的 CA),也可以是反向的(從最受信任的 CA 到目標)。PKIXCertPathChecker 實作必須支持反向檢查(反向呈現證書時執行其檢查的能力),並且可以支持正向檢查(正向呈現證書時執行其檢查的能力)。isForwardCheckingSupported 方法指示是否支持正向檢查。

執行檢查所需的其他輸入參數可以通過此類別具體實作的建構子來指定。

共時存取

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

從以下版本開始:
1.4
另請參見:
PKIXParameters, PKIXBuilderParameters

建構子摘要
protected PKIXCertPathChecker()
          預設的建構子。
 
方法摘要
abstract  void check(Certificate cert, Collection<String> unresolvedCritExts)
          使用其內部狀態對指定的證書進行檢查,並且將其處理的那些關鍵擴展從表示未解析的關鍵擴展的指定 OID 字元串集合中移除。
 Object clone()
          返回此物件的副本。
abstract  Set<String> getSupportedExtensions()
          返回一個此 PKIXCertPathChecker 支持(也就是識別,即能夠處理)的 X.509 證書擴展的不可變的 Set,如果不支持這些擴展,則返回 null
abstract  void init(boolean forward)
          初始化此 PKIXCertPathChecker 的內部狀態。
abstract  boolean isForwardCheckingSupported()
          指示是否支持正向檢查。
 
從類別 java.lang.Object 繼承的方法
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

PKIXCertPathChecker

protected PKIXCertPathChecker()
預設的建構子。

方法詳細資訊

init

public abstract void init(boolean forward)
                   throws CertPathValidatorException
初始化此 PKIXCertPathChecker 的內部狀態。

forward 標誌指定向 check 方法傳遞的證書順序(是正向還是反向的)。PKIXCertPathChecker 必須支持反向檢查,並且可以支持正向檢查。

參數:
forward - 向 check 方法呈現證書的順序。如果為 true,則按照從目標到最受信任的 CA(正向)的順序來呈現各個證書;如果為 false,則按照從最受信任的 CA 到目標(反向)的順序來呈現各個證書。
拋出:
CertPathValidatorException - 如果此 PKIXCertPathChecker 無法按指定的順序檢查各個證書;如果 forward 標誌為 false,則永遠不應拋出該異常,因為必須支持反向檢查

isForwardCheckingSupported

public abstract boolean isForwardCheckingSupported()
指示是否支持正向檢查。正向檢查是指以正向(從目標到最受信任的 CA)將各個證書呈現給 check 方法時,PKIXCertPathChecker 可執行其檢查的能力。

返回:
如果支持正向檢查,則返回 true;否則返回 false

getSupportedExtensions

public abstract Set<String> getSupportedExtensions()
返回一個此 PKIXCertPathChecker 支持(也就是識別,即能夠處理)的 X.509 證書擴展的不可變的 Set,如果不支持這些擴展,則返回 null

該集合的每個元素都是一個 String,表示支持的 X.509 擴展的物件標識符 (OID)。該 OID 由一組句點分隔的非負整數來表示。

該集合中應該套件括 PKIXCertPathChecker 可以處理的所有 X.509 證書擴展。

返回:
一個此 PKIXCertPathChecker 支持的 X.509 擴展 OID(以 String 格式)的不可變 Set,如果不支持這些擴展,則返回 null

check

public abstract void check(Certificate cert,
                           Collection<String> unresolvedCritExts)
                    throws CertPathValidatorException
使用其內部狀態對指定的證書進行檢查,並且將其處理的那些關鍵擴展從表示未解析的關鍵擴展的指定 OID 字元串集合中移除。按照 init 方法所指定的順序呈現各個證書。

參數:
cert - 要檢查的 Certificate
unresolvedCritExts - 一個 OID 字元串 Collection,表示當前未解析的關鍵擴展集
拋出:
CertPathValidatorException - 如果指定的證書無法通過檢查

clone

public Object clone()
返回此物件的副本。調用 Object.clone() 方法。如有必要,所有維護狀態的子類別必須支持並覆寫此方法。

覆寫:
類別 Object 中的 clone
返回:
PKIXCertPathChecker 的副本
另請參見:
Cloneable

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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