Класс 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
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
EncryptedPrivateKeyInfo |
Создаёт (т.е. анализирует) EncryptedPrivateKeyInfo по его кодировке ASN.1. |
EncryptedPrivateKeyInfo |
Создаёт EncryptedPrivateKeyInfo по имени алгоритма шифрования и зашифрованным данным. |
EncryptedPrivateKeyInfo |
Создаёт EncryptedPrivateKeyInfo по параметрам алгоритма шифрования и зашифрованным данным. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
String |
getAlgName() |
Возвращает алгоритм шифрования. |
AlgorithmParameters |
getAlgParameters() |
Возвращает параметры алгоритма, используемые алгоритмом шифрования. |
byte[] |
getEncoded() |
Возвращает ASN.1 кодировку этого объекта. |
byte[] |
getEncryptedData() |
Возвращает зашифрованные данные. |
PKCS8EncodedKeySpec |
getKeySpec |
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его. |
PKCS8EncodedKeySpec |
getKeySpec |
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его. |
PKCS8EncodedKeySpec |
getKeySpec |
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его. |
PKCS8EncodedKeySpec |
getKeySpec |
Извлекает объект PKCS8EncodedKeySpec из зашифрованных данных и возвращает его. |
Подробное описание конструкторов
EncryptedPrivateKeyInfo
public EncryptedPrivateKeyInfo(byte[] encoded) throws IOException
EncryptedPrivateKeyInfo из его кодировки ASN.1.- Параметры:
-
encoded- кодировка ASN.1 этого объекта. Содержимое массива копируется для защиты от последующих изменений. - Исключения:
-
NullPointerException- если кодировка ASN.1 объекта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- зашифрованные данные. СодержимоеencryptedDataкопируется для защиты от последующих изменений при создании этого объекта. - Исключения:
-
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компонентыAlgorithmIdentifierтипаEncryptedPrivateKeyInfo. -
encryptedData- зашифрованные данные. СодержимоеencryptedDataкопируется для защиты от последующих изменений при создании этого объекта. - Исключения:
-
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 объект
cipher должен быть инициализирован в режиме Cipher.DECRYPT_MODE или Cipher.UNWRAP_MODE с теми же ключом и параметрами, которые использовались для создания зашифрованных данных.- Параметры:
-
cipher- инициализированный объектCipher, который будет использоваться для расшифровки зашифрованных данных. - Возвращает:
- объект PKCS8EncodedKeySpec.
- Исключения:
-
NullPointerException- еслиcipherимеет значениеnull. -
InvalidKeySpecException- если заданный шифр не подходит для зашифрованных данных или зашифрованные данные повреждены и не могут быть расшифрованы.
getKeySpec
public PKCS8EncodedKeySpec getKeySpec(Key decryptKey) throws NoSuchAlgorithmException, InvalidKeyException
- Параметры:
-
decryptKey- ключ, используемый для расшифровки зашифрованных данных. - Возвращает:
- объект PKCS8EncodedKeySpec.
- Исключения:
-
NullPointerException- еслиdecryptKeyимеет значениеnull. -
NoSuchAlgorithmException- если не удается найти соответствующий шифр для расшифровки зашифрованных данных. -
InvalidKeyException- еслиdecryptKeyне может быть использован для расшифровки зашифрованных данных или результат расшифровки не является допустимым PKCS8KeySpec. - См. также:
- 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не может быть использован для расшифровки зашифрованных данных или результат расшифровки не является допустимым PKCS8KeySpec. - См. также:
- 1.5
getKeySpec
public PKCS8EncodedKeySpec getKeySpec(Key decryptKey, Provider provider) throws NoSuchAlgorithmException, InvalidKeyException
- Параметры:
-
decryptKey- ключ, используемый для расшифровки зашифрованных данных. -
provider- имя провайдера, чья реализация шифра будет использована. - Возвращает:
- объект PKCS8EncodedKeySpec.
- Исключения:
-
NullPointerException- еслиdecryptKeyилиproviderимеет значениеnull. -
NoSuchAlgorithmException- если не удается найти соответствующий шифр для расшифровки зашифрованных данных вprovider. -
InvalidKeyException- еслиdecryptKeyне может быть использован для расшифровки зашифрованных данных или результат расшифровки не является допустимым PKCS8KeySpec. - См. также:
- 1.5
getEncoded
public byte[] getEncoded() throws IOException
- Возвращает:
- кодировка ASN.1. Каждый раз при вызове этого метода возвращается новый массив.
- Исключения:
-
IOException- если произошла ошибка при построении кодировки ASN.1.
© 1993, 2023, 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/21/docs/api/java.base/javax/crypto/EncryptedPrivateKeyInfo.html