Spec-Zone.ru › OpenJDK 27

Класс PEM

java.lang.Object
java.security.PEM
Все реализуемые интерфейсы:
BinaryEncodablePREVIEW
public final class PEM extends Object implements BinaryEncodablePREVIEW
PEM — предварительная версия API платформы Java.
Программы могут использовать PEM только при включённых предварительных функциях.
Предварительные функции могут быть удалены в одном из будущих выпусков или стать постоянными функциями платформы Java.
Объект BinaryEncodableПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ, представляющий структуру Privacy-Enhanced Mail (PEM), состоящую из идентификатора типа, содержимого в кодировке Base64 и необязательных начальных данных, предшествующих заголовку PEM.

type — это метка в заголовке PEM, следующая за ключевым словом BEGIN и не включающая ограничители инкапсуляции. К распространённым значениям type относятся, помимо прочего: CERTIFICATE, CERTIFICATE REQUEST, ATTRIBUTE CERTIFICATE, X509 CRL, PKCS7, CMS, PRIVATE KEY, ENCRYPTED PRIVATE KEY и PUBLIC KEY.

Экземпляры этого класса возвращаются методами PEMDecoder.decode(String)ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ и PEMDecoder.decode(InputStream)ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ, когда содержимое невозможно представить в виде криптографического объекта. Чтобы явно получить экземпляр PEM с доступом к начальным данным, используйте PEMDecoder.decode(String, Class)ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ или PEMDecoder.decode(InputStream, Class)ПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ, указав PEM.class в качестве типа.

Объект PEM можно преобразовать в текстовое представление, вызвав toString() или используя PEMEncoderПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ.

Чтобы создать экземпляр PEM, type и base64Content должны быть не-null. Для конструкторов, принимающих leadingData, оно также должно быть не-null.

Проверка соответствия type RFC 7468 или устаревшим форматам, а также соответствия содержимого объявленному type не выполняется.

Начиная с версии:
26
Внешние спецификации
  • RFC 7468: текстовые кодировки структур PKIX, PKCS и CMS
См. также:
  • PEMDecoderПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ
  • PEMEncoderПРЕДВАРИТЕЛЬНАЯ ВЕРСИЯ

Краткое описание конструкторов

Конструктор Описание
PEM(String type, byte[] base64Content)
Создаёт экземпляр PEM с указанным типом и массивом байтов содержимого в кодировке Base64.
PEM(String type, byte[] base64Content, byte[] leadingData)
Создаёт экземпляр PEM с указанным типом, содержимым в кодировке Base64 и начальными данными в виде массивов байтов.
PEM(String type, String base64Content)
Создаёт экземпляр PEM с указанным типом и строкой содержимого в кодировке Base64.
PEM(String type, String base64Content, byte[] leadingData)
Создаёт экземпляр PEM с указанными типом, строкой содержимого в кодировке Base64 и массивом байтов начальных данных.

Краткое описание методов

Модификатор и тип Метод Описание
byte[] content()
Возвращает содержимое в кодировке Base64.
byte[] decode()
Возвращает декодированное из Base64 содержимое в виде массива байтов, используя Base64.getMimeDecoder().
byte[] leadingData()
Возвращает начальные данные, предшествовавшие заголовку PEM во входных декодированных данных.
String toString()
Возвращает строковое представление этого объекта в формате PEM, используя type для строк заголовка и завершающей строки, а content — для тела в кодировке Base64.
String type()
Возвращает идентификатор типа PEM.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения для этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени.

Подробное описание конструкторов

PEM

public PEM(String type, String base64Content, byte[] leadingData)
Создаёт экземпляр PEM с указанными типом, строкой содержимого в кодировке Base64 и массивом байтов начальных данных.
Параметры:
type — идентификатор типа PEM; не должен содержать синтаксис инкапсуляции PEM
base64Content — содержимое в кодировке Base64 без заголовка и завершающей строки PEM
leadingData — данные, предшествующие заголовку PEM. Этот массив копируется для защиты от изменений.
Исключения:
IllegalArgumentException — если type содержит синтаксис инкапсуляции PEM
NullPointerException — если какой-либо параметр равен null

PEM

public PEM(String type, String base64Content)
Создаёт экземпляр PEM с указанными типом и строкой содержимого в кодировке Base64.
Параметры:
type — идентификатор типа PEM; не должен содержать синтаксис инкапсуляции PEM
base64Content — содержимое в кодировке Base64 без заголовка и завершающей строки PEM
Исключения:
IllegalArgumentException — если type содержит синтаксис инкапсуляции PEM
NullPointerException — если какой-либо параметр равен null

PEM

public PEM(String type, byte[] base64Content, byte[] leadingData)
Создаёт экземпляр PEM с указанными типом, содержимым в кодировке Base64 и начальными данными в виде массивов байтов.
Параметры:
type — идентификатор типа PEM; не должен содержать синтаксис инкапсуляции PEM
base64Content — содержимое в кодировке Base64 без заголовка и завершающей строки PEM. Этот массив копируется для защиты от изменений.
leadingData — данные, предшествующие заголовку PEM. Этот массив копируется для защиты от изменений.
Исключения:
IllegalArgumentException — если type содержит синтаксис инкапсуляции PEM
NullPointerException — если какой-либо параметр равен null
Начиная с версии:
27

PEM

public PEM(String type, byte[] base64Content)
Создаёт экземпляр PEM с указанными типом и массивом байтов содержимого в кодировке Base64.
Параметры:
type — идентификатор типа PEM; не должен содержать синтаксис инкапсуляции PEM
base64Content — содержимое в кодировке Base64 без заголовка и завершающей строки PEM. Этот массив копируется для защиты от изменений.
Исключения:
IllegalArgumentException — если type содержит синтаксис инкапсуляции PEM
NullPointerException — если какой-либо параметр равен null
Начиная с версии:
27

Подробное описание методов

type

public String type()
Возвращает идентификатор типа PEM.
Возвращает:
идентификатор типа PEM

leadingData

public byte[] leadingData()
Возвращает начальные данные, предшествовавшие заголовку PEM во входных декодированных данных.
Возвращает:
новый массив байтов, содержащий начальные данные, или null, если начальные данные отсутствуют

content

public byte[] content()
Возвращает содержимое в кодировке Base64.
Возвращает:
новый массив байтов, содержащий содержимое в кодировке Base64
Начиная с версии:
27

decode

public byte[] decode()
Возвращает декодированное из Base64 содержимое в виде массива байтов, используя Base64.getMimeDecoder().
Возвращает:
новый массив байтов, содержащий декодированное содержимое
Исключения:
IllegalArgumentException — если декодирование не удалось

toString

public String toString()
Возвращает строковое представление этого объекта в формате PEM, используя type для строк заголовка и завершающей строки, а content — для тела в кодировке Base64.
Переопределяет:
toString в классе Object
Возвращает:
строку в формате PEM

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, способы обхода проблем и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API