|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
java.lang.Objectjava.security.cert.PKIXParameters
public class PKIXParameters
用作 PKIX CertPathValidator 演算法的輸入的參數。
PKIX CertPathValidator 使用這些參數、根據 PKIX 證書路徑驗證演算法來驗證 CertPath。
要實例化 PKIXParameters 物件,應用程序必須指定一個或多個由 PKIX 證書路徑驗證演算法所定義的最受信任的 CA。可以使用兩個建構子中的一個來指定最受信任的 CA。應用程序可以調用 PKIXParameters(Set) 來指定一個 TrustAnchor 物件 Set,其中每個物件都標識一個最受信任的 CA。另外,應用程序也可調用 PKIXParameters(KeyStore) 來指定一個 KeyStore 實例,其中包含多個受信任的證書項,每個項都認為是一個最受信任的 CA。
一旦創建了 PKIXParameters 物件,就可以指定其他參數(例如通過調用 setInitialPolicies 或 setDate),然後沿著要被 CertPathValidator.validate 所驗證的 CertPath 傳遞 PKIXParameters。
所有未設置(或被設置為 null)的參數將被設置為該參數的預設值。date 參數的預設值是 null,指示驗證該路徑時的當前時間。其餘參數的預設值是約束最少的。
共時存取
除非另行指定,否則此類別中所定義的方法不是執行緒安全的。需要共時存取單個物件的多個執行緒應該在它們之間實作同步並提供所需的鎖定。對於每個執行緒都操作一個不同物件的多個執行緒而言,無需實作同步。
CertPathValidator| 建構子摘要 | |
|---|---|
PKIXParameters(KeyStore keystore)
創建一個 PKIXParameters 實例,它根據指定 KeyStore 中所包含的受信證書項產生最受信任的 CA 集。 |
|
PKIXParameters(Set<TrustAnchor> trustAnchors)
創建具有指定最受信任 CA Set 的 PKIXParameters 的實例。 |
|
| 方法摘要 | |
|---|---|
void |
addCertPathChecker(PKIXCertPathChecker checker)
向證書路徑檢查器列表中添加一個 PKIXCertPathChecker。 |
void |
addCertStore(CertStore store)
將 CertStore 添加到尋找證書和 CRL 所使用的 CertStore 列表末尾。 |
Object |
clone()
對此 PKIXParameters 物件進行複製。 |
List<PKIXCertPathChecker> |
getCertPathCheckers()
返回證書路徑檢查器的 List。 |
List<CertStore> |
getCertStores()
返回用於尋找證書和 CRL 的不可變 CertStore List。 |
Date |
getDate()
返回應該確定證書路徑有效性的時間。 |
Set<String> |
getInitialPolicies()
返回初始策略標識符(OID 字元串)的不可變 Set,指示出於證書路徑處理的目的,所有這些策略都可被證書使用者接受。 |
boolean |
getPolicyQualifiersRejected()
獲取 PolicyQualifiersRejected 標誌。 |
String |
getSigProvider()
返回簽章提供者的名稱,如果未設置,則返回 null。 |
CertSelector |
getTargetCertConstraints()
返回目標證書所需的限制。 |
Set<TrustAnchor> |
getTrustAnchors()
返回不可變的、最受信任的 CA Set。 |
boolean |
isAnyPolicyInhibited()
檢查當證書中包括了任何策略 OID 時是否應該處理它。 |
boolean |
isExplicitPolicyRequired()
檢查是否需要顯式策略。 |
boolean |
isPolicyMappingInhibited()
檢查是否禁止策略映射。 |
boolean |
isRevocationEnabled()
檢查 RevocationEnabled 標誌。 |
void |
setAnyPolicyInhibited(boolean val)
設置狀態,以確定當證書中包括了策略 OID 時是否應該處理它。 |
void |
setCertPathCheckers(List<PKIXCertPathChecker> checkers)
設置其他證書路徑檢查器的 List。 |
void |
setCertStores(List<CertStore> stores)
設置在尋找證書和 CRL 時所使用的 CertStore 列表。 |
void |
setDate(Date date)
設置應該確定證書路徑有效性的時間。 |
void |
setExplicitPolicyRequired(boolean val)
設置 ExplicitPolicyRequired 標誌。 |
void |
setInitialPolicies(Set<String> initialPolicies)
設置初始策略標識符(OID 字元串)的 Set,指示出於證書路徑處理的目的,所有這些策略都可被證書使用者接受。 |
void |
setPolicyMappingInhibited(boolean val)
設置 PolicyMappingInhibited 標誌。 |
void |
setPolicyQualifiersRejected(boolean qualifiersRejected)
設置 PolicyQualifiersRejected 標誌。 |
void |
setRevocationEnabled(boolean val)
設置 RevocationEnabled 標誌。 |
void |
setSigProvider(String sigProvider)
設置簽章提供者的名稱。 |
void |
setTargetCertConstraints(CertSelector selector)
設置目標證書所需的限制。 |
void |
setTrustAnchors(Set<TrustAnchor> trustAnchors)
設置最受信任的 CA Set。 |
String |
toString()
返回描述該參數的格式化字元串。 |
| 從類別 java.lang.Object 繼承的方法 |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| 建構子詳細資訊 |
|---|
public PKIXParameters(Set<TrustAnchor> trustAnchors)
throws InvalidAlgorithmParameterException
Set 的 PKIXParameters 的實例。該 set 中的每個元素都是一個 TrustAnchor。
注意,要複製該 Set 以防對其進行後續修改。
trustAnchors - TrustAnchor 的 Set
InvalidAlgorithmParameterException - 如果指定的 Set 為空 (trustAnchors.isEmpty() == true)
NullPointerException - 如果指定的 Set 為 null
ClassCastException - 如果該 Set 中任一元素不是 java.security.cert.TrustAnchor 型別的
public PKIXParameters(KeyStore keystore)
throws KeyStoreException,
InvalidAlgorithmParameterException
PKIXParameters 實例,它根據指定 KeyStore 中所包含的受信證書項產生最受信任的 CA 集。只考慮那些包含受信 X509Certificates 的 keystore 項;忽略所有其他證書型別。
keystore - 一個 KeyStore,將根據它來產生最受信任的 CA 集
KeyStoreException - 如果尚未初始化 keystore
InvalidAlgorithmParameterException - 如果 keystore 不包含一個受信證書項
NullPointerException - 如果 keystore 為 null| 方法詳細資訊 |
|---|
public Set<TrustAnchor> getTrustAnchors()
Set。
TrustAnchor Set(從不為 null)setTrustAnchors(java.util.Set)
public void setTrustAnchors(Set<TrustAnchor> trustAnchors)
throws InvalidAlgorithmParameterException
Set。
注意,要複製該 Set 以防對其進行後續修改。
trustAnchors - TrustAnchor 的 Set
InvalidAlgorithmParameterException - 如果指定的 Set 為空 (trustAnchors.isEmpty() == true)
NullPointerException - 如果指定的 Set 為 null
ClassCastException - 如果該 Set 中的任一元素不是 java.security.cert.TrustAnchor 型別的getTrustAnchors()public Set<String> getInitialPolicies()
Set,指示出於證書路徑處理的目的,所有這些策略都可被證書使用者接受。預設返回值是一個空 Set,它可以解釋為任意策略均是可接受的。
String 的形式)的不可變 Set,或者是空 Set(暗示所有策略均是可接受的)。從不返回 null。setInitialPolicies(java.util.Set) public void setInitialPolicies(Set<String> initialPolicies)
Set,指示出於證書路徑處理的目的,所有這些策略都可被證書使用者接受。預設情況下,任意策略(也就是所有策略)都是可接受的,所以想要任意策略都為可接受的使用者不必調用此方法,或者可以用空的 Set(或者 null)調用此方法。
注意,要複製該 Set 以防對其進行後續修改。
initialPolicies - 初始策略 OID(以 String 格式)的 Set(或者為 null)
ClassCastException - 如果該 set 中的任一元素不是 String 型別的getInitialPolicies()public void setCertStores(List<CertStore> stores)
CertStore 列表。可以為 null,在這種情況下將不使用 CertStore。列表中前面出現的 CertStore 可能優先於後面出現的 CertStore 使用。
注意,要複製該 List 以防對其進行後續修改。
stores - CertStore 的 List(或者為 null)
ClassCastException - 如果該 list 中的任一元素不是 java.security.cert.CertStore 型別的getCertStores()public void addCertStore(CertStore store)
CertStore 添加到尋找證書和 CRL 所使用的 CertStore 列表末尾。
store - 要添加的 CertStore。如果為 null,則忽略該 CertStore(不添加到列表中)。public List<CertStore> getCertStores()
CertStore List。
CertStore List(可能為空,但從不為 null)setCertStores(java.util.List) public void setRevocationEnabled(boolean val)
創建 PKIXParameters 物件時,此標誌被設置為 true。此設置反映了檢查撤消最常見的策略,因為每個服務提供者必須支持撤消檢查是遵守 PKIX 的。當複雜的應用程序沒有實際使用 PKIX 服務提供者的預設撤消檢查機制時,或者使用一個替代的撤消檢查機制來替換(仍通過調用 addCertPathChecker 或 setCertPathCheckers 方法)時,應該將此標誌設置為 false。
val - RevocationEnabled 標誌的新值public boolean isRevocationEnabled()
setRevocationEnabled 方法。
public void setExplicitPolicyRequired(boolean val)
val - 如果需要顯式策略,則為 true;否則為 falsepublic boolean isExplicitPolicyRequired()
true;否則返回 falsepublic void setPolicyMappingInhibited(boolean val)
val - 如果禁止策略映射,則為 true;否則為 falsepublic boolean isPolicyMappingInhibited()
public void setAnyPolicyInhibited(boolean val)
isAnyPolicyInhibited() 返回 false)。
val - 如果要禁止任何策略 OID,則為 true;否則為 falsepublic boolean isAnyPolicyInhibited()
true;否則返回 falsepublic void setPolicyQualifiersRejected(boolean qualifiersRejected)
創建 PKIXParameters 物件後,此標誌設置為 true。此設置反映了處理策略限定符最常見(也是最簡單的)的策略。希望使用更複雜策略的應用程序必須將此標誌設置為 false。
注意,PKIX 證書路徑驗證演算法規定,對標記為關鍵的證書策略擴展中的策略限定符必須加以處理和驗證。否則必須放棄該證書路徑。如果 policyQualifiersRejected 標誌設置為 false,那麼為了遵守 PKIX ,由應用程序以此方式來驗證所有的策略限定符。
qualifiersRejected - PolicyQualifiersRejected 標誌的新值getPolicyQualifiersRejected(),
PolicyQualifierInfopublic boolean getPolicyQualifiersRejected()
創建 PKIXParameters 物件後,此標誌設置為 true。此設置反映了處理策略限定符最常見(也是最簡單的)的策略。希望使用更複雜策略的應用程序必須將此標誌設置為 false。
setPolicyQualifiersRejected(boolean)public Date getDate()
null,則使用當前時間。
注意,要複製返回的 Date 以防對其進行後續修改。
Date,如果未設置,則返回 nullsetDate(java.util.Date)public void setDate(Date date)
null,則使用當前時間。
注意,要複製此處提供的 Date 以防對其進行後續修改。
date - Date,如果使用當前時間,則為 nullgetDate()public void setCertPathCheckers(List<PKIXCertPathChecker> checkers)
List。如果指定的 List 套件含不是 PKIXCertPathChecker 的物件,則忽略它。
每個指定的 PKIXCertPathChecker 都對證書進行額外的檢查。通常,這些檢查是對證書中所包含的私有擴展進行處理和驗證。應該使用執行該檢查所需的所有初始化參數對每個 PKIXCertPathChecker 進行實例化。
此方法允許複雜的應用程序擴展 PKIX CertPathValidator 或 CertPathBuilder。依次由 PKIX CertPathValidator 或 CertPathBuilder 為每個要處理或驗證的證書調用每個指定的 PKIXCertPathChecker。
不管是否設置了這些額外的 PKIXCertPathChecker,PKIX CertPathValidator 或 CertPathBuilder 都必須對每個證書執行所有所需的 PKIX 檢查。此規則的一個例外是,RevocationEnabled 標誌設置為 false 的情況(請參見 setRevocationEnabled 方法)。
注意,將複製此處提供的 List,並且複製該 List 中的所有 PKIXCertPathChecker 以防對其進行後續修改。
checkers - PKIXCertPathChecker 的 List。可以為 null,在這種情況下將不使用其他的檢查器。
ClassCastException - 如果該 List 中的任一元素不是 java.security.cert.PKIXCertPathChecker 型別的getCertPathCheckers()public List<PKIXCertPathChecker> getCertPathCheckers()
List。返回的 List 是不可變的,並且複製該 List 中的所有 PKIXCertPathChecker 以防對其進行後續修改。
PKIXCertPathChecker List(可能為空,但從不為 null)setCertPathCheckers(java.util.List) public void addCertPathChecker(PKIXCertPathChecker checker)
PKIXCertPathChecker。有關詳細資訊,請參見 setCertPathCheckers 方法。
注意,要複製該 PKIXCertPathChecker 以防對其進行後續修改。
checker - 要添加到檢查列表中的 PKIXCertPathChecker。如果為 null,則忽略該檢查器(不添加到列表中)。public String getSigProvider()
null。
null)setSigProvider(java.lang.String)public void setSigProvider(String sigProvider)
Signature 物件時將首選該指定的提供者。如果為 null 或未設置,則將使用所找到的、支持該演算法的第一個提供者。
sigProvider - 簽章提供者的名稱(或者為 null)getSigProvider()public CertSelector getTargetCertConstraints()
CertSelector 實例的形式返回這些限制。如果為 null,則未定義限制。
注意,要複製返回的 CertSelector 以防對其進行後續修改。
CertSelector(或者返回 null)setTargetCertConstraints(java.security.cert.CertSelector)public void setTargetCertConstraints(CertSelector selector)
CertSelector 實例的形式指定這些限制。如果為 null,則未定義限制。
注意,要複製所指定的 CertSelector 以防對其進行後續修改。
selector - 指定目標證書限制的 CertSelector(或者為 null)getTargetCertConstraints()public Object clone()
PKIXParameters 物件進行複製。對副本的更改不會影響原件,反之亦然。
CertPathParameters 中的 cloneObject 中的 clonePKIXParameters 物件的副本Cloneablepublic String toString()
Object 中的 toString
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。