Интерфейс расширения
public interface Extension
Расширения позволяют связать дополнительные атрибуты с пользователями или открытыми ключами и управлять иерархией сертификатов. Формат расширения также позволяет сообществам определять частные расширения для переноса информации, уникальной для этих сообществ.
Каждое расширение содержит идентификатор объекта, устанавливающий критичность, указывающий, является ли оно критическим или некритическим расширением, и значение ASN.1 в формате DER. Его определение ASN.1:
Extension ::= SEQUENCE {
extnId OBJECT IDENTIFIER,
critical BOOLEAN DEFAULT FALSE,
extnValue OCTET STRING
-- contains a DER encoding of a value
-- of the type registered for use with
-- the extnId object identifier value
}
Этот интерфейс предназначен для доступа к одному расширению, в отличие от X509Extension, который более подходит для доступа к набору расширений.
- С момента:
- 1.7
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
encode |
Генерирует кодирование DER расширения и записывает его в поток вывода. |
String |
getId() |
Возвращает идентификатор объекта расширения. |
byte[] |
getValue() |
Возвращает значение расширения в формате DER. |
boolean |
isCritical() |
Возвращает значение установки критичности расширения. |
Подробное описание методов
getId
String getId()
- Возвращает:
- идентификатор объекта в виде строки
isCritical
boolean isCritical()
- Возвращает:
- true, если это критическое расширение.
getValue
byte[] getValue()
- Возвращает:
- копию значения расширения или
null, если значение расширения отсутствует.
encode
void encode(OutputStream out) throws IOException
- Параметры:
-
out- поток вывода - Исключения:
-
IOException- при ошибке кодирования или вывода. -
NullPointerException- еслиoutимеет значениеnull.
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/security/cert/Extension.html