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
类 CertPathBuilder

java.lang.Object
  继承者 java.security.cert.CertPathBuilder

public class CertPathBuilder
extends Object

构建证书路径(也称为证书链)的类。

此类使用 Java 加密体系结构 中所描述的、基于提供程序的架构。要创建一个 CertPathBuilder,应调用某个静态 getInstance 方法、传入所需的 CertPathBuilder 算法名称,或者所需的提供程序名称。

一旦创建了 CertPathBuilder 对象,则可以通过调用 build 方法并传递一个特定于算法的参数集来构造证书路径。如果成功,则在一个实现了 CertPathBuilderResult 接口的对象中返回结果(包括已构建的 CertPath)。

并发访问

可保证此类的静态方法是线程安全的。多个线程可以并发调用此类中所定义的静态方法,而不会产生什么坏的影响。

但是,对于此类所定义的非静态方法并非如此。除非具体的提供程序另行指定,否则需要并发访问单个 CertPathBuilder 实例的多个线程应该在它们之间实现同步并提供所需的锁定。对于每个线程都操作一个不同 CertPathBuilder 实例的多个线程而言,无需实现同步。

从以下版本开始:
1.4
另请参见:
CertPath

构造方法摘要
protected CertPathBuilder(CertPathBuilderSpi builderSpi, Provider provider, String algorithm)
          创建一个给定算法的 CertPathBuilder 对象,并在其中封装给定的提供程序实现(SPI 对象)。
 
方法摘要
 CertPathBuilderResult build(CertPathParameters params)
          尝试使用指定的算法参数集构建一个证书路径。
 String getAlgorithm()
          返回此 CertPathBuilder 的算法名称。
static String getDefaultType()
          返回 Java 安全属性文件中所指定的默认 CertPathBuilder 类型,如果没有此属性,则返回字符串 "PKIX"。
static CertPathBuilder getInstance(String algorithm)
          返回实现了指定算法的 CertPathBuilder 对象。
static CertPathBuilder getInstance(String algorithm, Provider provider)
          返回实现了指定算法(由指定的提供程序提供)的 CertPathBuilder 对象。
static CertPathBuilder getInstance(String algorithm, String provider)
          返回实现了指定算法(由指定的提供程序提供)的 CertPathBuilder 对象。
 Provider getProvider()
          返回此 CertPathBuilder 的提供程序。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

CertPathBuilder

protected CertPathBuilder(CertPathBuilderSpi builderSpi,
                          Provider provider,
                          String algorithm)
创建一个给定算法的 CertPathBuilder 对象,并在其中封装给定的提供程序实现(SPI 对象)。

参数:
builderSpi - 提供程序实现
provider - 提供程序
algorithm - 算法名称
方法详细信息

getInstance

public static CertPathBuilder getInstance(String algorithm)
                                   throws NoSuchAlgorithmException
返回实现了指定算法的 CertPathBuilder 对象。

如果默认提供程序包提供了指定 CertPathBuilder 算法的实现,则返回包含该实现的 CertPathBuilder 实例。如果默认包中不存在所请求的算法,则搜索其他包。

参数:
algorithm - 所请求的 CertPathBuilder 算法名称
返回:
实现了指定算法的 CertPathBuilder 对象
抛出:
NoSuchAlgorithmException - 如果所请求的算法在默认提供程序包,或者搜索的所有其他提供程序包中都不可用

getInstance

public static CertPathBuilder getInstance(String algorithm,
                                          String provider)
                                   throws NoSuchAlgorithmException,
                                          NoSuchProviderException
返回实现了指定算法(由指定的提供程序提供)的 CertPathBuilder 对象。

参数:
algorithm - 所请求的 CertPathBuilder 算法名称
provider - 提供程序的名称
返回:
实现了指定算法(由指定的提供程序提供)的 CertPathBuilder 对象
抛出:
NoSuchAlgorithmException - 如果指定的提供程序未提供所请求的算法
NoSuchProviderException - 如果尚未配置提供程序
IllegalArgumentException - 如果 provider 为 null

getInstance

public static CertPathBuilder getInstance(String algorithm,
                                          Provider provider)
                                   throws NoSuchAlgorithmException
返回实现了指定算法(由指定的提供程序提供)的 CertPathBuilder 对象。注:该 provider 不必被注册。

参数:
algorithm - 所请求的 CertPathBuilder 算法名称
provider - 提供程序
返回:
实现了指定算法(由指定的提供程序提供)的 CertPathBuilder 对象
抛出:
NoSuchAlgorithmException - 如果指定的提供程序未提供所请求的算法
IllegalArgumentException - 如果 provider 为 null。

getProvider

public final Provider getProvider()
返回此 CertPathBuilder 的提供程序。

返回:
CertPathBuilder 的提供程序

getAlgorithm

public final String getAlgorithm()
返回此 CertPathBuilder 的算法名称。

返回:
CertPathBuilder 的算法名称

build

public final CertPathBuilderResult build(CertPathParameters params)
                                  throws CertPathBuilderException,
                                         InvalidAlgorithmParameterException
尝试使用指定的算法参数集构建一个证书路径。

参数:
params - 算法参数
返回:
构建算法的结果
抛出:
CertPathBuilderException - 如果该生成器无法构造一个满足指定参数要求的证书路径
InvalidAlgorithmParameterException - 如果指定的参数不适合此 CertPathBuilder

getDefaultType

public static final String getDefaultType()
返回 Java 安全属性文件中所指定的默认 CertPathBuilder 类型,如果没有此属性,则返回字符串 "PKIX"。Java 安全属性文件位于指定的 <JAVA_HOME>/lib/security/java.security 文件中,其中 <JAVA_HOME> 是指安装 JDK 的目录。

对于调用某个 getInstance 方法时不希望使用硬编码 CertPathBuilder 类型,以及在用户未指定所用 CertPathBuilder 类型的情况下希望提供默认类型的应用程序而言,可以使用默认的 CertPathBuilder 类型。

通过将 "certpathbuilder.type" 安全属性(在 Java 安全属性文件中)的值设置为所需的类型即可更改默认的 CertPathBuilder 类型。

返回:
Java 安全属性文件中所指定的默认 CertPathBuilder 类型,如果没有此属性,则返回字符串 "PKIX"。

JavaTM 2 Platform
Standard Ed. 5.0

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

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