Класс EncryptedPrivateKeyInfo
- java.lang.Object
-
- javax.crypto.EncryptedPrivateKeyInfo
public class EncryptedPrivateKeyInfo extends Object
Этот класс реализует тип EncryptedPrivateKeyInfo, как определено в PKCS #8.
Его определение в ASN.1 выглядит следующим образом:
EncryptedPrivateKeyInfo ::= SEQUENCE {
encryptionAlgorithm AlgorithmIdentifier,
encryptedData OCTET STRING }
AlgorithmIdentifier ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL }
- Since:
- 1.4
- См. также:
PKCS8EncodedKeySpec
Конструкторы
| Конструктор и описание |
|---|
EncryptedPrivateKeyInfo(AlgorithmParameters algParams,
byte[] encryptedData) Создаёт объект |
EncryptedPrivateKeyInfo(byte[] encoded) Создаёт (т.е. парсит) объект |
EncryptedPrivateKeyInfo(String algName,
byte[] encryptedData) Создаёт объект |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
String |
getAlgName() Возвращает алгоритм шифрования. |
AlgorithmParameters |
getAlgParameters() Возвращает параметры алгоритма, используемые алгоритмом шифрования. |
byte[] |
getEncoded() Возвращает ASN.1 кодировку этого объекта. |
byte[] |
getEncryptedData() Возвращает зашифрованные данные. |
PKCS8EncodedKeySpec |
getKeySpec(Cipher cipher) Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его. |
PKCS8EncodedKeySpec |
getKeySpec(Key decryptKey) Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его. |
PKCS8EncodedKeySpec |
getKeySpec(Key decryptKey,
Provider provider) Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его. |
PKCS8EncodedKeySpec |
getKeySpec(Key decryptKey,
String providerName) Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Детали конструкторов
EncryptedPrivateKeyInfo
public EncryptedPrivateKeyInfo(byte[] encoded)
throws IOException
Создаёт (т.е. парсит) объект EncryptedPrivateKeyInfo из его кодировки 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- имя алгоритма шифрования. См. Приложение А в Руководстве по архитектуре Java Cryptography для информации о стандартных именах алгоритмов шифрования. -
encryptedData- зашифрованные данные. СодержимоеencrypedDataкопируется для защиты от последующих изменений при создании этого объекта. - Исключения:
-
NullPointerException- еслиalgNameилиencryptedDataравно null. -
IllegalArgumentException- еслиencryptedDataпусто, т.е. имеет длину 0. -
NoSuchAlgorithmException- если указанное имя algName не поддерживается.
EncryptedPrivateKeyInfo
public EncryptedPrivateKeyInfo(AlgorithmParameters algParams,
byte[] encryptedData)
throws NoSuchAlgorithmException
Создаёт объект EncryptedPrivateKeyInfo по параметрам алгоритма шифрования и зашифрованным данным.
- Параметры:
-
algParams- параметры алгоритма шифрования.algParams.getEncoded()должен вернуть ASN.1 закодированные байты поляparametersкомпонентыAlgorithmIdentiferтипаEncryptedPrivateKeyInfo. -
encryptedData- зашифрованные данные. СодержимоеencrypedDataкопируется для защиты от последующих изменений при создании этого объекта. - Исключения:
-
NullPointerException- еслиalgParamsилиencryptedDataравно null. -
IllegalArgumentException- еслиencryptedDataпусто, т.е. имеет длину 0. -
NoSuchAlgorithmException- если указанное имя algName указанных параметровalgParamsне поддерживается.
Детали методов
getAlgName
public String getAlgName()
Возвращает алгоритм шифрования.
Примечание: Возвращается стандартное имя вместо указанного в конструкторе, когда такое отображение доступно. См. Приложение А в Руководстве по архитектуре Java Cryptography для информации о стандартных именах алгоритмов шифрования.
- Возвращает:
- имя алгоритма шифрования.
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- инициализированный объект шифра, который будет использоваться для дешифрования зашифрованных данных. - Возвращает:
- объект PKCS8EncodedKeySpec.
- Исключения:
-
NullPointerException- еслиcipherравно null. -
InvalidKeySpecException- если данный шифр непригоден для зашифрованных данных или зашифрованные данные повреждены и не могут быть расшифрованы.
getKeySpec
public PKCS8EncodedKeySpec getKeySpec(Key decryptKey)
throws NoSuchAlgorithmException,
InvalidKeyException
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его.
- Параметры:
-
decryptKey- ключ, используемый для дешифрования зашифрованных данных. - Возвращает:
- объект PKCS8EncodedKeySpec.
- Исключения:
-
NullPointerException- еслиdecryptKeyравно null. -
NoSuchAlgorithmException- если не удается найти подходящий шифр для дешифрования зашифрованных данных. -
InvalidKeyException- еслиdecryptKeyне может быть использован для дешифрования зашифрованных данных или результат дешифрования не является допустимым PKCS8KeySpec. - Since:
- 1.5
getKeySpec
public PKCS8EncodedKeySpec getKeySpec(Key decryptKey,
String providerName)
throws NoSuchProviderException,
NoSuchAlgorithmException,
InvalidKeyException
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его.
- Параметры:
-
decryptKey- ключ, используемый для дешифрования зашифрованных данных. -
providerName- имя провайдера, чья реализация Cipher будет использоваться. - Возвращает:
- объект PKCS8EncodedKeySpec.
- Исключения:
-
NullPointerException- еслиdecryptKeyилиproviderNameравно null. -
NoSuchProviderException- если провайдерproviderNameне зарегистрирован. -
NoSuchAlgorithmException- если не удается найти подходящий шифр для дешифрования зашифрованных данных. -
InvalidKeyException- еслиdecryptKeyне может быть использован для дешифрования зашифрованных данных или результат дешифрования не является допустимым PKCS8KeySpec. - Since:
- 1.5
getKeySpec
public PKCS8EncodedKeySpec getKeySpec(Key decryptKey,
Provider provider)
throws NoSuchAlgorithmException,
InvalidKeyException
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его.
- Параметры:
-
decryptKey- ключ, используемый для дешифрования зашифрованных данных. -
provider- имя провайдера, чья реализация Cipher будет использоваться. - Возвращает:
- объект PKCS8EncodedKeySpec.
- Исключения:
-
NullPointerException- еслиdecryptKeyилиproviderравно null. -
NoSuchAlgorithmException- если не удается найти подходящий шифр для дешифрования зашифрованных данных вprovider. -
InvalidKeyException- еслиdecryptKeyне может быть использован для дешифрования зашифрованных данных или результат дешифрования не является допустимым PKCS8KeySpec. - Since:
- 1.5
getEncoded
public byte[] getEncoded()
throws IOException
Возвращает ASN.1 кодировку этого объекта.
- Возвращает:
- ASN.1 кодировка. Каждый раз при вызове этого метода возвращается новый массив.
- Исключения:
-
IOException- если произошла ошибка при построении ASN.1 кодировки.
© 1993, 2020, 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.