Module java.base

Interface Extension


public interface Extension
该接口表示一个X.509扩展。

扩展提供了一种将附加属性与用户或公钥关联以及管理认证层次结构的方法。扩展格式还允许社区定义私有扩展来携带特定于这些社区的信息。

每个扩展包含一个对象标识符,一个指示它是关键扩展还是非关键扩展的关键性设置,以及一个ASN.1 DER编码的值。其ASN.1定义如下:

     Extension ::= SEQUENCE {
         extnId        OBJECT IDENTIFIER,
         critical      BOOLEAN DEFAULT FALSE,
         extnValue     OCTET STRING
                 -- 包含与 extnId 对象标识符值注册使用的类型的值的 DER 编码
     }

 

该接口旨在提供对单个扩展的访问,与更适合访问一组扩展的X509Extension不同。

自版本:
1.7
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    生成扩展的DER编码并将其写入输出流。
    getId()
    获取扩展的对象标识符。
    byte[]
    获取扩展的DER编码值。
    boolean
    获取扩展的关键性设置。
  • Method Details

    • getId

      String getId()
      获取扩展的对象标识符。
      返回:
      作为字符串的对象标识符
    • isCritical

      boolean isCritical()
      获取扩展的关键性设置。
      返回:
      如果这是一个关键扩展,则返回true。
    • getValue

      byte[] getValue()
      获取扩展的DER编码值。注意,这是编码为OCTET STRING的字节。它不包括OCTET STRING的标签和长度。
      返回:
      扩展值的副本,如果没有扩展值则返回null
    • encode

      void encode(OutputStream out) throws IOException
      生成扩展的DER编码并将其写入输出流。
      参数:
      out - 输出流
      抛出:
      IOException - 编码或输出错误。
      NullPointerException - 如果outnull