Класс AlgorithmParameters
public class AlgorithmParameters extends Object
Объект AlgorithmParameters для управления параметрами определённого алгоритма можно получить, вызвав один из фабричных методов getInstance (статических методов, возвращающих экземпляры заданного класса).
После получения объекта AlgorithmParameters его необходимо инициализировать вызовом init, используя подходящую спецификацию параметров или кодировку параметров.
Прозрачную спецификацию параметров можно получить из объекта AlgorithmParameters вызовом getParameterSpec, а байтовую кодировку параметров — вызовом getEncoded.
Каждая реализация платформы Java обязана поддерживать следующие стандартные алгоритмы AlgorithmParameters. Для алгоритма "EC" реализации должны поддерживать кривые, указанные в скобках. Для алгоритма "RSASSA-PSS" реализации должны поддерживать параметры, указанные в скобках.
AESChaCha20-Poly1305DESedeDiffieHellmanDSA-
EC(secp256r1, secp384r1) -
RSASSA-PSS(функция генерации маски MGF1 и алгоритмы хеширования SHA-256 или SHA-384)
- Начиная с версии:
- 1.2
- Внешние спецификации
- См. также:
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт объект AlgorithmParameters. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final String |
getAlgorithm() |
Возвращает имя алгоритма, связанного с этим объектом параметров. |
final byte[] |
getEncoded() |
Возвращает параметры в их основном формате кодирования. |
final byte[] |
getEncoded |
Возвращает параметры, закодированные в указанной схеме. |
static AlgorithmParameters |
getInstance |
Возвращает объект параметров для указанного алгоритма. |
static AlgorithmParameters |
getInstance |
Возвращает объект параметров для указанного алгоритма. |
static AlgorithmParameters |
getInstance |
Возвращает объект параметров для указанного алгоритма. |
final <T extends AlgorithmParameterSpec> |
getParameterSpec |
Возвращает (прозрачную) спецификацию этого объекта параметров. |
final Provider |
getProvider() |
Возвращает поставщика этого объекта параметров. |
final void |
init |
Импортирует указанные параметры и декодирует их в соответствии с основным форматом декодирования параметров. |
final void |
init |
Импортирует параметры из params и декодирует их в соответствии с указанной схемой декодирования. |
final void |
init |
Инициализирует этот объект параметров с использованием параметров, указанных в paramSpec. |
final String |
toString() |
Возвращает отформатированную строку с описанием параметров. |
Подробное описание конструкторов
AlgorithmParameters
protected AlgorithmParameters(AlgorithmParametersSpi paramSpi, Provider provider, String algorithm)
AlgorithmParameters.- Параметры:
-
paramSpi— делегат -
provider— поставщик -
algorithm— алгоритм
Подробное описание методов
getAlgorithm
public final String getAlgorithm()
- Возвращает:
- имя алгоритма.
getInstance
public static AlgorithmParameters getInstance(String algorithm) throws NoSuchAlgorithmException
Этот метод проходит по списку зарегистрированных поставщиков безопасности, начиная с наиболее предпочтительного. Возвращается новый объект AlgorithmParameters, содержащий реализацию AlgorithmParametersSpi от первого поставщика, поддерживающего указанный алгоритм.
Обратите внимание, что список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().
Возвращённый объект параметров необходимо инициализировать вызовом init, используя подходящую спецификацию параметров или кодировку параметров.
- Примечание по реализации:
- Эталонная реализация JDK дополнительно использует свойство
jdk.security.provider.preferredSecurityдля определения порядка предпочтения поставщиков для указанного алгоритма. Этот порядок может отличаться от порядка поставщиков, возвращаемых методомSecurity.getProviders(). - Параметры:
-
algorithm— имя запрашиваемого алгоритма. Сведения о стандартных именах алгоритмов см. в разделе AlgorithmParameters спецификации стандартных имён алгоритмов безопасности Java. - Возвращает:
- новый объект параметров
- Вызывает исключения:
-
NoSuchAlgorithmException— если ни одинProviderне поддерживает реализациюAlgorithmParametersSpiдля указанного алгоритма -
NullPointerException— еслиalgorithmимеет значениеnull - Внешние спецификации
- См. также:
getInstance
public static AlgorithmParameters getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
Возвращается новый объект AlgorithmParameters, содержащий реализацию AlgorithmParametersSpi от указанного поставщика. Указанный поставщик должен быть зарегистрирован в списке поставщиков безопасности.
Обратите внимание, что список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().
Возвращённый объект параметров необходимо инициализировать вызовом init, используя подходящую спецификацию параметров или кодировку параметров.
- Параметры:
-
algorithm— имя запрашиваемого алгоритма. Сведения о стандартных именах алгоритмов см. в разделе AlgorithmParameters спецификации стандартных имён алгоритмов безопасности Java. -
provider— имя поставщика. - Возвращает:
- новый объект параметров
- Вызывает исключения:
-
IllegalArgumentException— если имя поставщика равноnullили пусто -
NoSuchAlgorithmException— если реализацияAlgorithmParametersSpiдля указанного алгоритма недоступна у указанного поставщика -
NoSuchProviderException— если указанный поставщик не зарегистрирован в списке поставщиков безопасности -
NullPointerException— еслиalgorithmимеет значениеnull - Внешние спецификации
- См. также:
getInstance
public static AlgorithmParameters getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
Возвращается новый объект AlgorithmParameters, содержащий реализацию AlgorithmParametersSpi от указанного поставщика. Обратите внимание, что указанный поставщик не обязательно должен быть зарегистрирован в списке поставщиков.
Возвращённый объект параметров необходимо инициализировать вызовом init, используя подходящую спецификацию параметров или кодировку параметров.
- Параметры:
-
algorithm— имя запрашиваемого алгоритма. Сведения о стандартных именах алгоритмов см. в разделе AlgorithmParameters спецификации стандартных имён алгоритмов безопасности Java. -
provider— имя поставщика. - Возвращает:
- новый объект параметров
- Вызывает исключения:
-
IllegalArgumentException— если поставщик имеет значениеnull -
NoSuchAlgorithmException— если реализацияAlgorithmParameterGeneratorSpiдля указанного алгоритма недоступна у указанного объектаProvider -
NullPointerException— еслиalgorithmимеет значениеnull - Начиная с версии:
- 1.4
- Внешние спецификации
- См. также:
getProvider
public final Provider getProvider()
- Возвращает:
- поставщика этого объекта параметров
init
public final void init(AlgorithmParameterSpec paramSpec) throws InvalidParameterSpecException
paramSpec.- Параметры:
-
paramSpec— спецификация параметров. - Вызывает исключения:
-
InvalidParameterSpecException— если заданная спецификация параметров не подходит для инициализации этого объекта параметров или если этот объект параметров уже был инициализирован.
init
public final void init(byte[] params) throws IOException
- Параметры:
-
params— закодированные параметры. - Вызывает исключения:
-
IOException— при ошибках декодирования или если этот объект параметров уже был инициализирован.
init
public final void init(byte[] params, String format) throws IOException
params и декодирует их в соответствии с указанной схемой декодирования. Если format имеет значение null, используется основной формат декодирования параметров. Основным форматом декодирования является ASN.1, если для этих параметров существует спецификация ASN.1.- Параметры:
-
params— закодированные параметры. -
format— имя схемы декодирования. - Вызывает исключения:
-
IOException— при ошибках декодирования или если этот объект параметров уже был инициализирован.
getParameterSpec
public final <T extends AlgorithmParameterSpec> T getParameterSpec(Class<T> paramSpec) throws InvalidParameterSpecException
paramSpec задаёт класс спецификации, в котором следует вернуть параметры. Например, это может быть DSAParameterSpec.class, указывающий, что параметры следует вернуть в экземпляре класса DSAParameterSpec.- Параметры типа:
T— тип возвращаемой спецификации параметров- Параметры:
-
paramSpec— класс спецификации, в котором следует вернуть параметры. - Возвращает:
- спецификацию параметров.
- Вызывает исключения:
-
InvalidParameterSpecException— если запрошенная спецификация параметров не подходит для этого объекта параметров или если этот объект параметров не был инициализирован.
getEncoded
public final byte[] getEncoded() throws IOException
- Возвращает:
- параметры, закодированные с использованием основного формата кодирования.
- Вызывает исключения:
-
IOException— при ошибках кодирования или если этот объект параметров не был инициализирован.
getEncoded
public final byte[] getEncoded(String format) throws IOException
format имеет значение null, используется основной формат кодирования параметров. Основным форматом кодирования является ASN.1, если для этих параметров существует спецификация ASN.1.- Параметры:
-
format— имя формата кодирования. - Возвращает:
- параметры, закодированные с использованием указанной схемы кодирования.
- Вызывает исключения:
-
IOException— при ошибках кодирования или если этот объект параметров не был инициализирован.
toString
© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/security/AlgorithmParameters.html