Spec-Zone.ru › OpenJDK 27

Класс EncryptedPrivateKeyInfo

java.lang.Object
javax.crypto.EncryptedPrivateKeyInfo
Все реализуемые интерфейсы:
BinaryEncodablePREVIEW
public non-sealed class EncryptedPrivateKeyInfo extends Object implements BinaryEncodablePREVIEW
Этот класс реализует тип EncryptedPrivateKeyInfo, определённый в PKCS #8.

Его определение ASN.1 выглядит следующим образом:

EncryptedPrivateKeyInfo ::=  SEQUENCE {
    encryptionAlgorithm   AlgorithmIdentifier,
    encryptedData   OCTET STRING }

AlgorithmIdentifier  ::=  SEQUENCE  {
    algorithm              OBJECT IDENTIFIER,
    parameters             ANY DEFINED BY algorithm OPTIONAL  }
Начиная с версии:
1.4
См. также:
  • PKCS8EncodedKeySpec

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

Конструктор Описание
EncryptedPrivateKeyInfo(byte[] encoded)
Создаёт EncryptedPrivateKeyInfo из заданного зашифрованного кодирования PKCS#8 ASN.1.
EncryptedPrivateKeyInfo(String algName, byte[] encryptedData)
Создаёт EncryptedPrivateKeyInfo из имени алгоритма шифрования и зашифрованных данных.
EncryptedPrivateKeyInfo(AlgorithmParameters algParams, byte[] encryptedData)
Создаёт EncryptedPrivateKeyInfo из параметров алгоритма шифрования и зашифрованных данных.

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

Модификатор и тип Метод Описание
static EncryptedPrivateKeyInfo encrypt(BinaryEncodablePREVIEW be, char[] password)
Предварительная версия.
Создаёт EncryptedPrivateKeyInfo, шифруя указанный BinaryEncodable.
static EncryptedPrivateKeyInfo encrypt(BinaryEncodablePREVIEW be, char[] password, String algorithm, AlgorithmParameterSpec params, Provider provider)
Предварительная версия.
Создаёт EncryptedPrivateKeyInfo, шифруя указанный BinaryEncodable.
static EncryptedPrivateKeyInfo encrypt(BinaryEncodablePREVIEW be, Key encryptKey, String algorithm, AlgorithmParameterSpec params, Provider provider, SecureRandom random)
Предварительная версия.
Создаёт EncryptedPrivateKeyInfo, шифруя указанный BinaryEncodable.
String getAlgName()
Возвращает алгоритм шифрования.
AlgorithmParameters getAlgParameters()
Возвращает параметры алгоритма, используемые алгоритмом шифрования.
byte[] getEncoded()
Возвращает кодирование ASN.1 этого объекта.
byte[] getEncryptedData()
Возвращает зашифрованные данные.
PrivateKey getKey(char[] password)
Предварительная версия.
Извлекает и возвращает вложенный PrivateKey, используя указанный пароль.
PrivateKey getKey(Key decryptKey)
Предварительная версия.
Извлекает и возвращает вложенный PrivateKey, используя указанный ключ расшифрования.
KeyPair getKeyPair(char[] password)
Предварительная версия.
Извлекает и возвращает вложенный KeyPair, используя указанный пароль.
KeyPair getKeyPair(Key decryptKey)
Предварительная версия.
Извлекает и возвращает вложенный KeyPair, используя указанный ключ расшифрования.
PKCS8EncodedKeySpec getKeySpec(Key decryptKey)
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его.
PKCS8EncodedKeySpec getKeySpec(Key decryptKey, String providerName)
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его.
PKCS8EncodedKeySpec getKeySpec(Key decryptKey, Provider provider)
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его.
PKCS8EncodedKeySpec getKeySpec(Cipher cipher)
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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()
Будит все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает текущий поток до тех пор, пока он не будет разбужен, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до тех пор, пока он не будет разбужен, обычно посредством уведомления или прерывания, либо пока не истечёт заданный промежуток реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до тех пор, пока он не будет разбужен, обычно посредством уведомления или прерывания, либо пока не истечёт заданный промежуток реального времени.

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

EncryptedPrivateKeyInfo

public EncryptedPrivateKeyInfo(byte[] encoded) throws IOException
Создаёт EncryptedPrivateKeyInfo из заданного зашифрованного кодирования PKCS#8 ASN.1.
Параметры:
encoded — кодирование ASN.1 этого объекта. Содержимое массива копируется для защиты от последующего изменения.
Исключения:
NullPointerException — если encoded имеет значение null.
IOException — если при разборе кодирования ASN.1 произошла ошибка.

EncryptedPrivateKeyInfo

public EncryptedPrivateKeyInfo(String algName, byte[] encryptedData) throws NoSuchAlgorithmException
Создаёт EncryptedPrivateKeyInfo из имени алгоритма шифрования и зашифрованных данных.

Примечание. Этот конструктор использует null в качестве значения параметров алгоритма. Если у алгоритма шифрования есть параметры, значение которых не равно null, следует использовать другой конструктор, например EncryptedPrivateKeyInfo(AlgorithmParameters, byte[]).

Параметры:
algName — имя алгоритма шифрования. Сведения о стандартных именах алгоритмов Cipher см. в документе Стандартные имена алгоритмов Java Security.
encryptedData — зашифрованные данные. Содержимое encryptedData копируется при создании этого объекта для защиты от последующего изменения.
Исключения:
NullPointerException — если algName или encryptedData имеет значение null.
IllegalArgumentException — если encryptedData пусто, то есть имеет нулевую длину.
NoSuchAlgorithmException — если указанный algName не поддерживается.
Внешние спецификации
  • Стандартные имена алгоритмов Java Security

EncryptedPrivateKeyInfo

public EncryptedPrivateKeyInfo(AlgorithmParameters algParams, byte[] encryptedData) throws NoSuchAlgorithmException
Создаёт EncryptedPrivateKeyInfo из параметров алгоритма шифрования и зашифрованных данных.
Параметры:
algParams — параметры алгоритма шифрования. algParams.getEncoded() должен возвращать байты в кодировке ASN.1 поля parameters компонента AlgorithmIdentifier типа EncryptedPrivateKeyInfo.
encryptedData — зашифрованные данные. Содержимое encryptedData копируется при создании этого объекта для защиты от последующего изменения.
Исключения:
NullPointerException — если algParams или encryptedData имеет значение null.
IllegalArgumentException — если encryptedData пусто, то есть имеет нулевую длину.
NoSuchAlgorithmException — если указанное имя algName указанного параметра algParams не поддерживается.

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

getAlgName

public String getAlgName()
Возвращает алгоритм шифрования.

Примечание. Если доступно сопоставление, возвращается стандартное имя, а не имя, указанное в конструкторе. Сведения о стандартных именах алгоритмов Cipher см. в документе Стандартные имена алгоритмов Java Security.

Возвращает:
имя алгоритма шифрования.
Внешние спецификации
  • Стандартные имена алгоритмов Java Security

getAlgParameters

public AlgorithmParameters getAlgParameters()
Возвращает параметры алгоритма, используемые алгоритмом шифрования.
Возвращает:
параметры алгоритма.

getEncryptedData

public byte[] getEncryptedData()
Возвращает зашифрованные данные.
Возвращает:
зашифрованные данные. При каждом вызове этого метода возвращается новый массив.

getKeySpec

public PKCS8EncodedKeySpec getKeySpec(Cipher cipher) throws InvalidKeySpecException
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его.
Примечание. Для успешного получения вложенного объекта PKCS8EncodedKeySpec необходимо инициализировать cipher в режиме Cipher.DECRYPT_MODE или Cipher.UNWRAP_MODE с теми же ключом и параметрами, которые использовались для создания зашифрованных данных.
Параметры:
cipher — инициализированный объект Cipher, который будет использоваться для расшифрования зашифрованных данных.
Возвращает:
объект PKCS8EncodedKeySpec
Исключения:
NullPointerException — если cipher имеет значение null.
InvalidKeySpecException — если заданный шифр не подходит для зашифрованных данных или зашифрованные данные повреждены и не могут быть расшифрованы.

encrypt

public static EncryptedPrivateKeyInfo encrypt(BinaryEncodablePREVIEW be, char[] password, String algorithm, AlgorithmParameterSpec params, Provider provider)
encrypt — предварительная версия API платформы Java.
Программы могут использовать encrypt только при включённых предварительных функциях.
Предварительные функции могут быть удалены в одном из будущих выпусков или стать постоянными функциями платформы Java.
Создаёт EncryptedPrivateKeyInfo, шифруя указанный BinaryEncodable. Необходимо указать допустимый алгоритм шифрования на основе пароля (PBE) и пароль.

Формат строки алгоритма PBE описан в разделе Алгоритмы Cipher спецификации стандартных имён алгоритмов Java Security.

Параметры:
be — BinaryEncodable для шифрования. Поддерживаются типы PrivateKey, KeyPair и PKCS8EncodedKeySpec.
password — пароль, используемый для шифрования PBE. Перед использованием этот массив клонируется.
algorithm — алгоритм шифрования PBE
params — AlgorithmParameterSpec, используемый для шифрования. Если null, применяются параметры по умолчанию поставщика.
provider — Provider для операций SecretKeyFactory и Cipher. Если null, используется список поставщиков по умолчанию.
Возвращает:
объект EncryptedPrivateKeyInfo
Исключения:
NullPointerException — если be, password или algorithm имеет значение null
IllegalArgumentException — если be является неподдерживаемым BinaryEncodable или не имеет кодирования
CryptoExceptionPREVIEW — если при создании ключа PBE произошла ошибка, если ни один поставщик не поддерживает algorithm или params либо если при шифровании произошла ошибка
Начиная с версии:
27

encrypt

public static EncryptedPrivateKeyInfo encrypt(BinaryEncodablePREVIEW be, char[] password)
encrypt — предварительная версия API платформы Java.
Программы могут использовать encrypt только при включённых предварительных функциях.
Предварительные функции могут быть удалены в одном из будущих выпусков или стать постоянными функциями платформы Java.
Создаёт EncryptedPrivateKeyInfo, шифруя указанный BinaryEncodable. Необходимо указать допустимый пароль. Используются алгоритм шифрования на основе пароля (PBE) и поставщик по умолчанию.
Примечание по реализации:
Свойство безопасности jdk.epkcs8.defaultAlgorithm задаёт алгоритм шифрования по умолчанию. Параметры AlgorithmParameterSpec по умолчанию определяются поставщиком.
Параметры:
be — BinaryEncodable для шифрования. Поддерживаются типы PrivateKey, KeyPair и PKCS8EncodedKeySpec.
password — пароль, используемый для шифрования PBE. Перед использованием этот массив клонируется.
Возвращает:
объект EncryptedPrivateKeyInfo
Исключения:
NullPointerException — если be или password имеет значение null
IllegalArgumentException — если be является неподдерживаемым BinaryEncodable или не имеет кодирования
CryptoExceptionPREVIEW — если при создании ключа PBE произошла ошибка, алгоритм по умолчанию настроен неверно либо при шифровании произошла ошибка
Начиная с версии:
27

encrypt

public static EncryptedPrivateKeyInfo encrypt(BinaryEncodablePREVIEW be, Key encryptKey, String algorithm, AlgorithmParameterSpec params, Provider provider, SecureRandom random)
encrypt — предварительная версия API платформы Java.
Программы могут использовать encrypt только при включённых предварительных функциях.
Предварительные функции могут быть удалены в одном из будущих выпусков или стать постоянными функциями платформы Java.
Создаёт EncryptedPrivateKeyInfo, шифруя указанный BinaryEncodable. Необходимо указать допустимый алгоритм шифрования и Key.

Формат строки алгоритма описан в разделе Алгоритмы Cipher спецификации стандартных имён алгоритмов Java Security.

Параметры:
be — BinaryEncodable для шифрования. Поддерживаются типы PrivateKey, KeyPair и PKCS8EncodedKeySpec.
encryptKey — ключ, используемый для шифрования кодирования
algorithm — алгоритм шифрования, например алгоритм шифрования на основе пароля (PBE)
params — AlgorithmParameterSpec, используемый для шифрования. Если null, применяются параметры по умолчанию поставщика.
provider — Provider для операций Cipher. Если null, используется список поставщиков по умолчанию.
random — экземпляр SecureRandom, используемый при шифровании. Если null, используется значение по умолчанию.
Возвращает:
объект EncryptedPrivateKeyInfo
Исключения:
NullPointerException — если be, encryptKey или algorithm имеет значение null
IllegalArgumentException — если be является неподдерживаемым BinaryEncodable или не имеет кодирования
CryptoExceptionPREVIEW — если encryptKey недопустим, если ни один поставщик не поддерживает algorithm или params либо если при шифровании произошла ошибка
Начиная с версии:
27

getKey

public PrivateKey getKey(char[] password) throws NoSuchAlgorithmException, InvalidKeyException
getKey — предварительная версия API платформы Java.
Программы могут использовать getKey только при включённых предварительных функциях.
Предварительные функции могут быть удалены в одном из будущих выпусков или стать постоянными функциями платформы Java.
Извлекает и возвращает вложенный PrivateKey, используя указанный пароль.
Параметры:
password — пароль, используемый для расшифрования PBE. Перед использованием массив клонируется.
Возвращает:
расшифрованный PrivateKey
Исключения:
NullPointerException — если password имеет значение null
NoSuchAlgorithmException — если алгоритм расшифрования не поддерживается
InvalidKeyException — если при разборе, расшифровании или создании ключа произошла ошибка
Начиная с версии:
25

getKey

public PrivateKey getKey(Key decryptKey) throws NoSuchAlgorithmException, InvalidKeyException
getKey — предварительная версия API платформы Java.
Программы могут использовать getKey только при включённых предварительных функциях.
Предварительные функции могут быть удалены в одном из будущих выпусков или стать постоянными функциями платформы Java.
Извлекает и возвращает вложенный PrivateKey, используя указанный ключ расшифрования.
Параметры:
decryptKey — ключ расшифрования; не должен иметь значение null
Возвращает:
расшифрованный PrivateKey
Исключения:
NullPointerException — если decryptKey имеет значение null
NoSuchAlgorithmException — если алгоритм расшифрования не поддерживается
InvalidKeyException — если при разборе, расшифровании или создании ключа произошла ошибка
Начиная с версии:
27

getKeyPair

public KeyPair getKeyPair(char[] password) throws NoSuchAlgorithmException, InvalidKeyException
getKeyPair — предварительная версия API платформы Java.
Программы могут использовать getKeyPair только при включённых предварительных функциях.
Предварительные функции могут быть удалены в одном из будущих выпусков или стать постоянными функциями платформы Java.
Извлекает и возвращает вложенный KeyPair, используя указанный пароль. Если кодированные данные не содержат одновременно открытый и закрытый ключ, выбрасывается InvalidKeyException.
Параметры:
password — пароль, используемый для расшифрования PBE. Перед использованием массив клонируется.
Возвращает:
расшифрованный KeyPair
Исключения:
NullPointerException — если password имеет значение null
NoSuchAlgorithmException — если алгоритм расшифрования не поддерживается
InvalidKeyException — если в кодированных данных отсутствует открытый ключ либо если при разборе, расшифровании или создании ключа произошла ошибка
Начиная с версии:
26

getKeyPair

public KeyPair getKeyPair(Key decryptKey) throws NoSuchAlgorithmException, InvalidKeyException
getKeyPair — предварительная версия API платформы Java.
Программы могут использовать getKeyPair только при включённых предварительных функциях.
Предварительные функции могут быть удалены в одном из будущих выпусков или стать постоянными функциями платформы Java.
Извлекает и возвращает вложенный KeyPair, используя указанный ключ расшифрования. Если кодированные данные не содержат одновременно открытый и закрытый ключ, выбрасывается InvalidKeyException.
Параметры:
decryptKey — ключ расшифрования; не должен иметь значение null
Возвращает:
расшифрованный KeyPair
Исключения:
NullPointerException — если decryptKey имеет значение null
NoSuchAlgorithmException — если алгоритм расшифрования не поддерживается
InvalidKeyException — если в кодированных данных отсутствует открытый ключ либо если при разборе, расшифровании или создании ключа произошла ошибка
Начиная с версии:
27

getKeySpec

public PKCS8EncodedKeySpec getKeySpec(Key decryptKey) throws NoSuchAlgorithmException, InvalidKeyException
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его.
Параметры:
decryptKey — ключ, используемый для расшифрования зашифрованных данных.
Возвращает:
объект PKCS8EncodedKeySpec с указанным алгоритмом
Исключения:
NullPointerException — если decryptKey имеет значение null.
NoSuchAlgorithmException — если не удалось найти подходящий шифр для расшифрования зашифрованных данных.
InvalidKeyException — если decryptKey нельзя использовать для расшифрования зашифрованных данных или результат расшифрования не является допустимым PKCS8EncodedKeySpec.
Начиная с версии:
1.5

getKeySpec

public PKCS8EncodedKeySpec getKeySpec(Key decryptKey, String providerName) throws NoSuchProviderException, NoSuchAlgorithmException, InvalidKeyException
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его.
Параметры:
decryptKey — ключ, используемый для расшифрования зашифрованных данных.
providerName — имя поставщика, чья реализация шифра будет использоваться.
Возвращает:
объект PKCS8EncodedKeySpec с указанным алгоритмом
Исключения:
NullPointerException — если decryptKey или providerName имеет значение null.
NoSuchProviderException — если поставщик providerName не зарегистрирован.
NoSuchAlgorithmException — если не удалось найти подходящий шифр для расшифрования зашифрованных данных.
InvalidKeyException — если decryptKey нельзя использовать для расшифрования зашифрованных данных или результат расшифрования не является допустимым PKCS8EncodedKeySpec.
Начиная с версии:
1.5

getKeySpec

public PKCS8EncodedKeySpec getKeySpec(Key decryptKey, Provider provider) throws NoSuchAlgorithmException, InvalidKeyException
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его.
Параметры:
decryptKey — ключ, используемый для расшифрования зашифрованных данных.
provider — поставщик, чья реализация шифра будет использоваться.
Возвращает:
объект PKCS8EncodedKeySpec с указанным алгоритмом
Исключения:
NullPointerException — если decryptKey или provider имеет значение null.
NoSuchAlgorithmException — если в provider не удалось найти подходящий шифр для расшифрования зашифрованных данных.
InvalidKeyException — если decryptKey нельзя использовать для расшифрования зашифрованных данных или результат расшифрования не является допустимым PKCS8EncodedKeySpec.
Начиная с версии:
1.5

getEncoded

public byte[] getEncoded() throws IOException
Возвращает кодирование ASN.1 этого объекта.
Возвращает:
кодирование ASN.1. При каждом вызове этого метода возвращается новый массив.
Исключения:
IOException — если при создании кодирования ASN.1 произошла ошибка.

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

© 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