java.security.cert

接口
异常
public interface PolicyNode

PKIX 证书路径验证算法所定义的、不可变的有效策略树节点。

PKIX 证书路径验证算法的输出是有效策略树,其中包括确定为有效的策略、如何实现该确定,以及遇到的所有策略限定符。此树的深度为 n,其中 n 是已验证的证书路径的长度。

大多数应用程序无需检验有效策略树。它们可以通过设置 PKIXParameters 中与策略相关的参数来获得其策略处理目标。但是,大多数复杂的应用程序都可使用有效策略树,特别是那些处理策略限定符的应用程序。

PKIXCertPathValidatorResult.getPolicyTree 返回有效策略树的根节点。可使用 getChildrengetParent 方法遍历该树。可使用 PolicyNode 的其他方法来获取有关特定节点的数据。

并发访问

所有 PolicyNode 对象必须是不可变的和线程安全的。多个线程在单个 PolicyNode 对象(或多个对象)上并发调用此类中所定义的各种方法不会产生坏的影响。此规定适用于此类的所有公共字段和方法,以及由子类添加或重写的所有公共字段和方法。

从以下版本开始:
1.4

方法摘要
 Iterator<? extends PolicyNode> getChildren()
          返回在此节点的子节点上进行迭代的迭代器。
 int getDepth()
          返回有效策略树中此节点的深度。
 Set<String> getExpectedPolicies()
          返回预期的策略集,其中的策略将满足下一个要处理证书中此节点的有效策略。
 PolicyNode getParent()
          返回此节点的父节点,如果此节点是根节点,则返回 null
 Set<? extends PolicyQualifierInfo> getPolicyQualifiers()
          返回与此节点所表示的有效策略相关联的策略限定符集。
 String getValidPolicy()
          返回此节点所表示的有效策略。
 boolean isCritical()
          返回最近处理的证书中其证书策略扩展的关键性指示符。
 

方法详细信息

getParent

PolicyNode getParent()
返回此节点的父节点,如果此节点是根节点,则返回 null

返回:
此节点的父节点,如果此节点是根节点,则返回 null

getChildren

Iterator<? extends PolicyNode> getChildren()
返回在此节点的子节点上进行迭代的迭代器。任何试图通过该 Iterator 的 remove 方法来修改此节点的子节点的行为都必须抛出 UnsupportedOperationException

返回:
在此节点的子节点上进行迭代的迭代器

getDepth

int getDepth()
返回有效策略树中此节点的深度。

返回:
此节点的深度(0 代表根节点,1 代表其子节点,依此类推)

getValidPolicy

String getValidPolicy()
返回此节点所表示的有效策略。

返回:
此节点所表示的有效策略的 String OID,或者是特殊值 "any-policy"。对于根节点,此方法始终返回特殊值 "any-policy"。

getPolicyQualifiers

Set<? extends PolicyQualifierInfo> getPolicyQualifiers()
返回与此节点所表示的有效策略相关联的策略限定符集。

返回:
一个不可变的 PolicyQualifierInfo Set。对于根节点,此方法始终返回一个空 Set

getExpectedPolicies

Set<String> getExpectedPolicies()
返回预期的策略集,其中的策略将满足下一个要处理证书中此节点的有效策略。

返回:
一个不可变的预期策略 String OID 的 Set,或者具有单个特殊值 "any-policy" 的不可变 Set。对于根节点,此方法始终返回具有单个值 "any-policy" 的 Set

isCritical

boolean isCritical()
返回最近处理的证书中其证书策略扩展的关键性指示符。

返回:
如果扩展标记为关键的,则返回 true;否则返回 false。对于根节点,此方法始终返回 false