Most visited

Recently visited

Added in API level 1

CertPathBuilder

public class CertPathBuilder
extends Object

java.lang.Object
   ↳ java.security.cert.CertPathBuilder


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

这个类使用基于提供者的架构。 要创建一个CertPathBuilder ,请调用静态getInstance方法之一,传入CertPathBuilder所需的算法名称以及可选的所需提供者的名称。

一旦创建了CertPathBuilder对象,就可以通过调用build方法并向其传递算法特定的一组参数来构建认证路径。 如果成功,则结果(包括构建的CertPath )将返回到实现CertPathBuilderResult接口的对象中。

getRevocationChecker()方法允许应用程序指定用于由附加特定算法的参数和选项CertPathBuilder检查证书的撤销状态时。 下面是一个演示PKIX算法如何使用的例子:

 CertPathBuilder cpb = CertPathBuilder.getInstance("PKIX");
 PKIXRevocationChecker rc = (PKIXRevocationChecker)cpb.getRevocationChecker();
 rc.setOptions(EnumSet.of(Option.PREFER_CRLS));
 params.addCertPathChecker(rc);
 CertPathBuilderResult cpbr = cpb.build(params);
 

Android提供了以下 CertPathBuilder算法:

Name Supported (API Levels)
PKIX 1+
This algorithm is described in the CertPathBuilder section of the Java Cryptography Architecture Standard Algorithm Name Documentation.

并发访问

这个类的静态方法保证是线程安全的。 多线程可能会同时调用此类中定义的静态方法,而不会产生不良影响。

但是,对于由此类定义的非静态方法,这不是真的。 除非通过特定的供应商提供了其他凭证,需要线程访问单个CertPathBuilder实例同时应该在它们之间实现同步并提供所需的锁定。 每个操作不同CertPathBuilder实例的多个线程无需同步。

也可以看看:

Summary

Protected constructors

CertPathBuilder(CertPathBuilderSpi builderSpi, Provider provider, String algorithm)

创建给定算法的 CertPathBuilder对象,并将给定的提供者实现(SPI对象)封装在其中。

Public methods

final CertPathBuilderResult build(CertPathParameters params)

尝试使用指定的算法参数集来构建认证路径。

final String getAlgorithm()

返回此 CertPathBuilder算法的 CertPathBuilder

static final String getDefaultType()

返回 certpathbuilder.type安全属性指定的默认 CertPathBuilder类型,如果不存在此类属性,则返回字符串“PKIX”。

static CertPathBuilder getInstance(String algorithm)

返回实现指定算法的 CertPathBuilder对象。

static CertPathBuilder getInstance(String algorithm, String provider)

返回实现指定算法的 CertPathBuilder对象。

static CertPathBuilder getInstance(String algorithm, Provider provider)

返回实现指定算法的 CertPathBuilder对象。

final Provider getProvider()

返回此 CertPathBuilder的提供者。

final CertPathChecker getRevocationChecker()

返回 CertPathChecker ,该封装 CertPathBuilderSpi实现使用检查证书的吊销状态。

Inherited methods

From class java.lang.Object

Protected constructors

CertPathBuilder

Added in API level 1
CertPathBuilder (CertPathBuilderSpi builderSpi, 
                Provider provider, 
                String algorithm)

创建给定算法的 CertPathBuilder对象,并封装给定的提供者实现(SPI对象)。

Parameters
builderSpi CertPathBuilderSpi: the provider implementation
provider Provider: the provider
algorithm String: the algorithm name

Public methods

build

Added in API level 1
CertPathBuilderResult build (CertPathParameters params)

尝试使用指定的算法参数集来构建认证路径。

Parameters
params CertPathParameters: the algorithm parameters
Returns
CertPathBuilderResult the result of the build algorithm
Throws
CertPathBuilderException if the builder is unable to construct a certification path that satisfies the specified parameters
InvalidAlgorithmParameterException if the specified parameters are inappropriate for this CertPathBuilder

getAlgorithm

Added in API level 1
String getAlgorithm ()

返回此 CertPathBuilder算法的 CertPathBuilder

Returns
String the name of the algorithm of this CertPathBuilder

getDefaultType

Added in API level 1
String getDefaultType ()

返回 certpathbuilder.type安全属性指定的默认 CertPathBuilder类型,如果不存在此类属性,则返回字符串“PKIX”。

当调用 getInstance方法之一时,不想使用硬编码类型的应用程序可以使用默认的 CertPathBuilder类型,并且希望在用户未指定其自己的情况下提供默认类型。

可以通过将 certpathbuilder.type安全属性的值设置为所需的类型来更改默认的 CertPathBuilder类型。

Returns
String the default CertPathBuilder type as specified by the certpathbuilder.type security property, or the string "PKIX" if no such property exists.

也可以看看:

getInstance

Added in API level 1
CertPathBuilder getInstance (String algorithm)

返回实现指定算法的 CertPathBuilder对象。

该方法遍历注册安全提供程序的列表,从最优先的提供程序开始。 返回封装来自支持指定算法的第一个Provider的CertPathBuilderSpi实现的新CertPathBuilder对象。

请注意,注册供应商列表可能通过 Security.getProviders()方法检索。

Parameters
algorithm String: the name of the requested CertPathBuilder algorithm. See the CertPathBuilder section in the Java Cryptography Architecture Standard Algorithm Name Documentation for information about standard algorithm names.
Returns
CertPathBuilder a CertPathBuilder object that implements the specified algorithm.
Throws
NoSuchAlgorithmException if no Provider supports a CertPathBuilderSpi implementation for the specified algorithm.

也可以看看:

getInstance

Added in API level 1
CertPathBuilder getInstance (String algorithm, 
                String provider)

返回实现指定算法的 CertPathBuilder对象。

返回封装指定提供程序的CertPathBuilderSpi实现的新CertPathBuilder对象。 指定的提供者必须在安全提供者列表中注册。

请注意,可以通过 Security.getProviders()方法检索注册供应商列表。

Parameters
algorithm String: the name of the requested CertPathBuilder algorithm. See the CertPathBuilder section in the Java Cryptography Architecture Standard Algorithm Name Documentation for information about standard algorithm names.
provider String: the name of the provider.
Returns
CertPathBuilder a CertPathBuilder object that implements the specified algorithm.
Throws
NoSuchAlgorithmException if a CertPathBuilderSpi implementation for the specified algorithm is not available from the specified provider.
NoSuchProviderException if the specified provider is not registered in the security provider list.
IllegalArgumentException if the provider is null or empty.

也可以看看:

getInstance

Added in API level 1
CertPathBuilder getInstance (String algorithm, 
                Provider provider)

返回实现指定算法的 CertPathBuilder对象。

返回封装指定Provider对象的CertPathBuilderSpi实现的新CertPathBuilder对象。 请注意,指定的Provider对象不必在提供程序列表中注册。

Parameters
algorithm String: the name of the requested CertPathBuilder algorithm. See the CertPathBuilder section in the Java Cryptography Architecture Standard Algorithm Name Documentation for information about standard algorithm names.
provider Provider: the provider.
Returns
CertPathBuilder a CertPathBuilder object that implements the specified algorithm.
Throws
NoSuchAlgorithmException if a CertPathBuilderSpi implementation for the specified algorithm is not available from the specified Provider object.
IllegalArgumentException if the provider is null.

也可以看看:

getProvider

Added in API level 1
Provider getProvider ()

返回此 CertPathBuilder的提供者。

Returns
Provider the provider of this CertPathBuilder

getRevocationChecker

Added in API level 24
CertPathChecker getRevocationChecker ()

返回CertPathChecker ,该封装CertPathBuilderSpi实现使用检查证书的吊销状态。 PKIX实现返回PKIXRevocationChecker类型的PKIXRevocationChecker 每次调用此方法都会返回一个新的CertPathChecker实例。

此方法的主要目的是允许调用者指定特定于撤销检查的其他输入参数和选项。 查看示例的类描述。

Returns
CertPathChecker a CertPathChecker
Throws
UnsupportedOperationException if the service provider does not support this method

Hooray!