Класс 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 из его кодирования ASN.1.

EncryptedPrivateKeyInfo​(String algName, byte[] encryptedData)

Создаёт EncryptedPrivateKeyInfo на основе имени алгоритма шифрования и зашифрованных данных.

EncryptedPrivateKeyInfo​(AlgorithmParameters algParams, byte[] encryptedData)

Создаёт EncryptedPrivateKeyInfo на основе параметров алгоритма шифрования и зашифрованных данных.

Методы

Модификатор и типМетодОписание
StringgetAlgName()

Возвращает алгоритм шифрования.

AlgorithmParametersgetAlgParameters()

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

byte[]getEncoded()

Возвращает ASN.1 кодирование этого объекта.

byte[]getEncryptedData()

Возвращает зашифрованные данные.

PKCS8EncodedKeySpecgetKeySpec​(Key decryptKey)

Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его.

PKCS8EncodedKeySpecgetKeySpec​(Key decryptKey, String providerName)

Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его.

PKCS8EncodedKeySpecgetKeySpec​(Key decryptKey, Provider provider)

Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его.

PKCS8EncodedKeySpecgetKeySpec​(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

Spec-Zone .ru
спецификации, руководства, описания, API