Класс 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
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
EncryptedPrivateKeyInfo |
Создаёт EncryptedPrivateKeyInfo из заданного зашифрованного кодирования PKCS#8 ASN.1. |
EncryptedPrivateKeyInfo |
Создаёт EncryptedPrivateKeyInfo из имени алгоритма шифрования и зашифрованных данных. |
EncryptedPrivateKeyInfo |
Создаёт EncryptedPrivateKeyInfo из параметров алгоритма шифрования и зашифрованных данных. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static EncryptedPrivateKeyInfo |
encrypt |
Предварительная версия. Создаёт EncryptedPrivateKeyInfo, шифруя указанный BinaryEncodable. |
static EncryptedPrivateKeyInfo |
encrypt |
Предварительная версия. Создаёт EncryptedPrivateKeyInfo, шифруя указанный BinaryEncodable. |
static EncryptedPrivateKeyInfo |
encrypt |
Предварительная версия. Создаёт EncryptedPrivateKeyInfo, шифруя указанный BinaryEncodable. |
String |
getAlgName() |
Возвращает алгоритм шифрования. |
AlgorithmParameters |
getAlgParameters() |
Возвращает параметры алгоритма, используемые алгоритмом шифрования. |
byte[] |
getEncoded() |
Возвращает кодирование ASN.1 этого объекта. |
byte[] |
getEncryptedData() |
Возвращает зашифрованные данные. |
PrivateKey |
getKey |
Предварительная версия. Извлекает и возвращает вложенный PrivateKey, используя указанный пароль. |
PrivateKey |
getKey |
Предварительная версия. Извлекает и возвращает вложенный PrivateKey, используя указанный ключ расшифрования. |
KeyPair |
getKeyPair |
Предварительная версия. Извлекает и возвращает вложенный KeyPair, используя указанный пароль. |
KeyPair |
getKeyPair |
Предварительная версия. Извлекает и возвращает вложенный KeyPair, используя указанный ключ расшифрования. |
PKCS8EncodedKeySpec |
getKeySpec |
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его. |
PKCS8EncodedKeySpec |
getKeySpec |
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его. |
PKCS8EncodedKeySpec |
getKeySpec |
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его. |
PKCS8EncodedKeySpec |
getKeySpec |
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Проверяет, является ли другой объект «равным» этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. Метод финализации устарел и будет удалён в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Будит один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Будит все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Приостанавливает текущий поток до тех пор, пока он не будет разбужен, обычно посредством уведомления или прерывания. |
final void |
wait |
Приостанавливает текущий поток до тех пор, пока он не будет разбужен, обычно посредством уведомления или прерывания, либо пока не истечёт заданный промежуток реального времени. |
final void |
wait |
Приостанавливает текущий поток до тех пор, пока он не будет разбужен, обычно посредством уведомления или прерывания, либо пока не истечёт заданный промежуток реального времени. |
Подробное описание конструкторов
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 не поддерживается. - Внешние спецификации
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.
- Возвращает:
- имя алгоритма шифрования.
- Внешние спецификации
getAlgParameters
public AlgorithmParameters getAlgParameters()
- Возвращает:
- параметры алгоритма.
getEncryptedData
public byte[] getEncryptedData()
- Возвращает:
- зашифрованные данные. При каждом вызове этого метода возвращается новый массив.
getKeySpec
public PKCS8EncodedKeySpec getKeySpec(Cipher cipher) throws InvalidKeySpecException
Примечание. Для успешного получения вложенного объекта 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 только при включённых предварительных функциях.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 только при включённых предварительных функциях.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 только при включённых предварительных функциях.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 только при включённых предварительных функциях.PrivateKey, используя указанный пароль.- Параметры:
-
password— пароль, используемый для расшифрования PBE. Перед использованием массив клонируется. - Возвращает:
- расшифрованный
PrivateKey - Исключения:
-
NullPointerException— еслиpasswordимеет значениеnull -
NoSuchAlgorithmException— если алгоритм расшифрования не поддерживается -
InvalidKeyException— если при разборе, расшифровании или создании ключа произошла ошибка - Начиная с версии:
- 25
getKey
public PrivateKey getKey(Key decryptKey) throws NoSuchAlgorithmException, InvalidKeyException
getKey — предварительная версия API платформы Java. getKey только при включённых предварительных функциях.PrivateKey, используя указанный ключ расшифрования.- Параметры:
-
decryptKey— ключ расшифрования; не должен иметь значениеnull - Возвращает:
- расшифрованный
PrivateKey - Исключения:
-
NullPointerException— еслиdecryptKeyимеет значениеnull -
NoSuchAlgorithmException— если алгоритм расшифрования не поддерживается -
InvalidKeyException— если при разборе, расшифровании или создании ключа произошла ошибка - Начиная с версии:
- 27
getKeyPair
public KeyPair getKeyPair(char[] password) throws NoSuchAlgorithmException, InvalidKeyException
getKeyPair — предварительная версия API платформы Java. getKeyPair только при включённых предварительных функциях.KeyPair, используя указанный пароль. Если кодированные данные не содержат одновременно открытый и закрытый ключ, выбрасывается InvalidKeyException.- Параметры:
-
password— пароль, используемый для расшифрования PBE. Перед использованием массив клонируется. - Возвращает:
- расшифрованный
KeyPair - Исключения:
-
NullPointerException— еслиpasswordимеет значениеnull -
NoSuchAlgorithmException— если алгоритм расшифрования не поддерживается -
InvalidKeyException— если в кодированных данных отсутствует открытый ключ либо если при разборе, расшифровании или создании ключа произошла ошибка - Начиная с версии:
- 26
getKeyPair
public KeyPair getKeyPair(Key decryptKey) throws NoSuchAlgorithmException, InvalidKeyException
getKeyPair — предварительная версия API платформы Java. getKeyPair только при включённых предварительных функциях.KeyPair, используя указанный ключ расшифрования. Если кодированные данные не содержат одновременно открытый и закрытый ключ, выбрасывается InvalidKeyException.- Параметры:
-
decryptKey— ключ расшифрования; не должен иметь значениеnull - Возвращает:
- расшифрованный
KeyPair - Исключения:
-
NullPointerException— еслиdecryptKeyимеет значениеnull -
NoSuchAlgorithmException— если алгоритм расшифрования не поддерживается -
InvalidKeyException— если в кодированных данных отсутствует открытый ключ либо если при разборе, расшифровании или создании ключа произошла ошибка - Начиная с версии:
- 27
getKeySpec
public PKCS8EncodedKeySpec getKeySpec(Key decryptKey) throws NoSuchAlgorithmException, InvalidKeyException
- Параметры:
-
decryptKey— ключ, используемый для расшифрования зашифрованных данных. - Возвращает:
- объект PKCS8EncodedKeySpec с указанным алгоритмом
- Исключения:
-
NullPointerException— еслиdecryptKeyимеет значениеnull. -
NoSuchAlgorithmException— если не удалось найти подходящий шифр для расшифрования зашифрованных данных. -
InvalidKeyException— еслиdecryptKeyнельзя использовать для расшифрования зашифрованных данных или результат расшифрования не является допустимым PKCS8EncodedKeySpec. - Начиная с версии:
- 1.5
getKeySpec
public PKCS8EncodedKeySpec getKeySpec(Key decryptKey, String providerName) throws NoSuchProviderException, NoSuchAlgorithmException, InvalidKeyException
- Параметры:
-
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
- Параметры:
-
decryptKey— ключ, используемый для расшифрования зашифрованных данных. -
provider— поставщик, чья реализация шифра будет использоваться. - Возвращает:
- объект PKCS8EncodedKeySpec с указанным алгоритмом
- Исключения:
-
NullPointerException— еслиdecryptKeyилиproviderимеет значениеnull. -
NoSuchAlgorithmException— если вproviderне удалось найти подходящий шифр для расшифрования зашифрованных данных. -
InvalidKeyException— еслиdecryptKeyнельзя использовать для расшифрования зашифрованных данных или результат расшифрования не является допустимым PKCS8EncodedKeySpec. - Начиная с версии:
- 1.5
getEncoded
public byte[] getEncoded() throws IOException
- Возвращает:
- кодирование ASN.1. При каждом вызове этого метода возвращается новый массив.
- Исключения:
-
IOException— если при создании кодирования ASN.1 произошла ошибка.
© 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.