Класс 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(byte[] encoded) | Создаёт (т.е., парсит) |
EncryptedPrivateKeyInfo(String algName,
byte[] encryptedData) | Создаёт |
EncryptedPrivateKeyInfo(AlgorithmParameters algParams,
byte[] encryptedData) | Создаёт |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
String | getAlgName() | Возвращает алгоритм шифрования. |
AlgorithmParameters | getAlgParameters() | Возвращает параметры алгоритма, используемые алгоритмом шифрования. |
byte[] | getEncoded() | Возвращает ASN.1 кодирование этого объекта. |
byte[] | getEncryptedData() | Возвращает зашифрованные данные. |
PKCS8EncodedKeySpec | getKeySpec(Key decryptKey) | Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его. |
PKCS8EncodedKeySpec | getKeySpec(Key decryptKey,
String providerName) | Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его. |
PKCS8EncodedKeySpec | getKeySpec(Key decryptKey,
Provider provider) | Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его. |
PKCS8EncodedKeySpec | getKeySpec(Cipher cipher) | Извлекает объект 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 Security Standard Algorithm Names для получения информации об именах стандартных алгоритмов шифрования. -
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 Security Standard Algorithm Names для получения информации об именах стандартных алгоритмов шифрования.
- Возвращает:
- имя алгоритма шифрования.
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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/javax/crypto/EncryptedPrivateKeyInfo.html