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

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

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