Расширение интерфейса
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, 2025, 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/25/docs/api/java.base/java/security/cert/Extension.html