Module java.base

Interface PolicyNode


public interface PolicyNode
由PKIX证书路径验证算法定义的不可变的有效策略树节点。

PKIX证书路径验证算法的输出之一是有效策略树,其中包括被确定为有效的策略、达到这一确定的方式以及遇到的任何策略限定符。该树的深度为 n,其中 n 是已验证的证书路径的长度。

大多数应用程序不需要检查有效策略树。它们可以通过在 PKIXParameters 中设置与策略相关的参数来实现其策略处理目标。但是,对于更复杂的应用程序,特别是处理策略限定符的应用程序,可以使用有效策略树。

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

并发访问

所有 PolicyNode 对象必须是不可变的且线程安全的。多个线程可以同时在单个 PolicyNode 对象(或多个对象)上调用此类中定义的方法,而不会产生任何不良影响。此规定适用于此类的所有公共字段和方法,以及任何子类添加或覆盖的字段和方法。

自版本:
1.4
  • Method Details

    • getParent

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

      Iterator<? extends PolicyNode> getChildren()
      返回此节点的子节点的迭代器。任何尝试通过 Iterator 的 remove 方法修改此节点的子节点都必须抛出 UnsupportedOperationException
      返回:
      此节点的子节点的迭代器
    • getDepth

      int getDepth()
      返回此节点在有效策略树中的深度。
      返回:
      此节点的深度(根节点为 0,其子节点为 1,依此类推)
    • getValidPolicy

      String getValidPolicy()
      返回此节点表示的有效策略。
      返回:
      此节点表示的有效策略的 String OID。对于根节点,此方法始终返回特殊的 anyPolicy OID: "2.5.29.32.0"。
    • getPolicyQualifiers

      Set<? extends PolicyQualifierInfo> getPolicyQualifiers()
      返回与此节点表示的有效策略相关联的策略限定符集。
      返回:
      一个不可变的 Set,其中包含 PolicyQualifierInfo。对于根节点,这始终是一个空的 Set
    • getExpectedPolicies

      Set<String> getExpectedPolicies()
      返回将满足此节点在下一个要处理的证书中的有效策略的预期策略集。
      返回:
      一个不可变的 Set,其中包含预期策略的 String OID。对于根节点,此方法始终返回一个具有一个元素的 Set,即特殊的 anyPolicy OID: "2.5.29.32.0"。
    • isCritical

      boolean isCritical()
      返回最近处理的证书中证书策略扩展的关键性指示器。
      返回:
      如果扩展标记为关键,则返回 true,否则返回 false。对于根节点,始终返回 false