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 TypeMethodDescriptionvoid
encode
(OutputStream out) 生成扩展的DER编码并将其写入输出流。getId()
获取扩展的对象标识符。byte[]
getValue()
获取扩展的DER编码值。boolean
获取扩展的关键性设置。
-
Method Details
-
getId
String getId()获取扩展的对象标识符。- 返回:
- 作为字符串的对象标识符
-
isCritical
boolean isCritical()获取扩展的关键性设置。- 返回:
- 如果这是一个关键扩展,则返回true。
-
getValue
byte[] getValue()获取扩展的DER编码值。注意,这是编码为OCTET STRING的字节。它不包括OCTET STRING的标签和长度。- 返回:
-
扩展值的副本,如果没有扩展值则返回
null
。
-
encode
生成扩展的DER编码并将其写入输出流。- 参数:
-
out
- 输出流 - 抛出:
-
IOException
- 编码或输出错误。 -
NullPointerException
- 如果out
为null
。
-