Spec-Zone.ru › OpenJDK 25

Класс AlgorithmParameters

java.lang.Object
java.security.AlgorithmParameters
public class AlgorithmParameters extends Object
Этот класс используется для непрозрачного представления криптографических параметров.

Объект AlgorithmParameters для управления параметрами определённого алгоритма можно получить, вызвав один из фабричных методов getInstance (статических методов, возвращающих экземпляры заданного класса).

После получения объекта AlgorithmParameters его необходимо инициализировать вызовом init, используя подходящую спецификацию параметров или кодировку параметров.

Прозрачную спецификацию параметров можно получить из объекта AlgorithmParameters вызовом getParameterSpec, а байтовую кодировку параметров — вызовом getEncoded.

Каждая реализация платформы Java обязана поддерживать следующие стандартные алгоритмы AlgorithmParameters. Для алгоритма "EC" реализации должны поддерживать кривые, указанные в скобках. Для алгоритма "RSASSA-PSS" реализации должны поддерживать параметры, указанные в скобках.

  • AES
  • ChaCha20-Poly1305
  • DESede
  • DiffieHellman
  • DSA
  • EC (secp256r1, secp384r1)
  • RSASSA-PSS (функция генерации маски MGF1 и алгоритмы хеширования SHA-256 или SHA-384)
Эти алгоритмы описаны в разделе AlgorithmParameters спецификации стандартных имён алгоритмов безопасности Java. Обратитесь к документации выпуска вашей реализации, чтобы узнать, поддерживаются ли какие-либо другие алгоритмы.
Начиная с версии:
1.2
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java
См. также:
  • AlgorithmParameterSpec
  • DSAParameterSpec
  • KeyPairGenerator

Краткое описание конструкторов

AlgorithmParameters(AlgorithmParametersSpi paramSpi, Provider provider, String algorithm)
Модификатор Конструктор Описание
protected
Создаёт объект AlgorithmParameters.

Краткое описание методов

Модификатор и тип Метод Описание
final String getAlgorithm()
Возвращает имя алгоритма, связанного с этим объектом параметров.
final byte[] getEncoded()
Возвращает параметры в их основном формате кодирования.
final byte[] getEncoded(String format)
Возвращает параметры, закодированные в указанной схеме.
static AlgorithmParameters getInstance(String algorithm)
Возвращает объект параметров для указанного алгоритма.
static AlgorithmParameters getInstance(String algorithm, String provider)
Возвращает объект параметров для указанного алгоритма.
static AlgorithmParameters getInstance(String algorithm, Provider provider)
Возвращает объект параметров для указанного алгоритма.
final <T extends AlgorithmParameterSpec>
T
getParameterSpec(Class<T> paramSpec)
Возвращает (прозрачную) спецификацию этого объекта параметров.
final Provider getProvider()
Возвращает поставщика этого объекта параметров.
final void init(byte[] params)
Импортирует указанные параметры и декодирует их в соответствии с основным форматом декодирования параметров.
final void init(byte[] params, String format)
Импортирует параметры из params и декодирует их в соответствии с указанной схемой декодирования.
final void init(AlgorithmParameterSpec paramSpec)
Инициализирует этот объект параметров с использованием параметров, указанных в paramSpec.
final String toString()
Возвращает отформатированную строку с описанием параметров.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

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.preferred Security для определения порядка предпочтения поставщиков для указанного алгоритма. Этот порядок может отличаться от порядка поставщиков, возвращаемых методом Security.getProviders().
Параметры:
algorithm — имя запрашиваемого алгоритма. Сведения о стандартных именах алгоритмов см. в разделе AlgorithmParameters спецификации стандартных имён алгоритмов безопасности Java.
Возвращает:
новый объект параметров
Вызывает исключения:
NoSuchAlgorithmException — если ни один Provider не поддерживает реализацию AlgorithmParametersSpi для указанного алгоритма
NullPointerException — если algorithm имеет значение null
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java
См. также:
  • Provider

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
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java
См. также:
  • Provider

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
Внешние спецификации
  • Стандартные имена алгоритмов безопасности Java
См. также:
  • Provider

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
Импортирует указанные параметры и декодирует их в соответствии с основным форматом декодирования параметров. Основным форматом декодирования параметров является ASN.1, если для этого типа параметров существует спецификация ASN.1.
Параметры:
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
Возвращает параметры в их основном формате кодирования. Основным форматом кодирования параметров является ASN.1, если для этого типа параметров существует спецификация ASN.1.
Возвращает:
параметры, закодированные с использованием основного формата кодирования.
Вызывает исключения:
IOException — при ошибках кодирования или если этот объект параметров не был инициализирован.

getEncoded

public final byte[] getEncoded(String format) throws IOException
Возвращает параметры, закодированные в указанной схеме. Если format имеет значение null, используется основной формат кодирования параметров. Основным форматом кодирования является ASN.1, если для этих параметров существует спецификация ASN.1.
Параметры:
format — имя формата кодирования.
Возвращает:
параметры, закодированные с использованием указанной схемы кодирования.
Вызывает исключения:
IOException — при ошибках кодирования или если этот объект параметров не был инициализирован.

toString

public final String toString()
Возвращает отформатированную строку с описанием параметров.
Переопределяет:
toString в классе Object
Возвращает:
отформатированную строку с описанием параметров или null, если этот объект параметров не был инициализирован.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API