java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

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. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策