Класс AlgorithmParameters

public class AlgorithmParameters
extends Object

Этот класс используется в качестве непрозрачного представления криптографических параметров.

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

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

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

Каждая реализация Java-платформы должна поддерживать следующие стандартные алгоритмы AlgorithmParameters:

  • AES
  • DES
  • DESede
  • DiffieHellman
  • DSA
Эти алгоритмы описаны в разделе AlgorithmParameters спецификации Java Security Standard Algorithm Names. Обратитесь к документации реализации для просмотра других поддерживаемых алгоритмов.
Since:
1.2
См. также:
AlgorithmParameterSpec, DSAParameterSpec, KeyPairGenerator

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

Модификатор Конструктор Описание
protected AlgorithmParameters​(AlgorithmParametersSpi paramSpi, Provider provider, String algorithm)

Создаёт объект AlgorithmParameters.

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

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

Возвращает имя алгоритма, связанного с этим объектом параметров.

byte[] getEncoded()

Возвращает параметры в их первичном формате кодирования.

byte[] getEncoded​(String format)

Возвращает параметры, закодированные в указанной схеме.

static AlgorithmParameters getInstance​(String algorithm)

Возвращает объект параметров для указанного алгоритма.

static AlgorithmParameters getInstance​(String algorithm, String provider)

Возвращает объект параметров для указанного алгоритма.

static AlgorithmParameters getInstance​(String algorithm, Provider provider)

Возвращает объект параметров для указанного алгоритма.

<T extends AlgorithmParameterSpec>
T
getParameterSpec​(Class<T> paramSpec)

Возвращает (прозрачное) задание этого объекта параметров.

Provider getProvider()

Возвращает поставщика этого объекта параметров.

void init​(byte[] params)

Импортирует указанные параметры и декодирует их в соответствии с первичным форматом декодирования параметров.

void init​(byte[] params, String format)

Импортирует параметры из params и декодирует их в соответствии с указанной схемой декодирования.

void init​(AlgorithmParameterSpec paramSpec)

Инициализирует этот объект параметров, используя параметры, указанные в paramSpec.

String toString()

Возвращает отформатированную строку, описывающую параметры.

Методы, объявленные в классе java.lang.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 Security Standard Algorithm Names для получения информации об именах стандартных алгоритмов.
Возвращает:
новый объект параметров
Исключения:
NoSuchAlgorithmException - если ни один Provider не поддерживает реализацию AlgorithmParametersSpi для указанного алгоритма
NullPointerException - если algorithm является null
См. также:
Provider

getInstance

public static AlgorithmParameters getInstance(String algorithm,
                                              String provider)
                                       throws NoSuchAlgorithmException,
                                              NoSuchProviderException

Возвращает объект параметров для указанного алгоритма.

Возвращается новый объект AlgorithmParameters, инкапсулирующий реализацию AlgorithmParametersSpi от указанного провайдера. Указанный провайдер должен быть зарегистрирован в списке провайдеров безопасности.

Обратите внимание, что список зарегистрированных провайдеров можно получить с помощью метода Security.getProviders().

Возвращаемый объект параметров должен быть инициализирован вызовом init, используя соответствующее описание параметров или кодирование параметров.

Параметры:
algorithm - имя запрашиваемого алгоритма. См. раздел AlgorithmParameters в Спецификации Java Security Standard Algorithm Names для получения информации об именах стандартных алгоритмов.
provider - имя провайдера.
Возвращает:
новый объект параметров
Исключения:
IllegalArgumentException - если имя провайдера является null или пустым
NoSuchAlgorithmException - если реализация AlgorithmParametersSpi для указанного алгоритма недоступна от указанного провайдера
NoSuchProviderException - если указанный провайдер не зарегистрирован в списке провайдеров безопасности
NullPointerException - если algorithm является null
См. также:
Provider

getInstance

public static AlgorithmParameters getInstance(String algorithm,
                                              Provider provider)
                                       throws NoSuchAlgorithmException

Возвращает объект параметров для указанного алгоритма.

Возвращается новый объект AlgorithmParameters, инкапсулирующий реализацию AlgorithmParametersSpi из указанного объекта Provider. Обратите внимание, что указанный объект Provider не обязательно должен быть зарегистрирован в списке провайдеров.

Возвращаемый объект параметров должен быть инициализирован вызовом init, используя соответствующее описание параметров или кодирование параметров.

Параметры:
algorithm - имя запрашиваемого алгоритма. См. раздел AlgorithmParameters в Спецификации Java Security Standard Algorithm Names для получения информации об именах стандартных алгоритмов.
provider - имя провайдера.
Возвращает:
новый объект параметров
Исключения:
IllegalArgumentException - если провайдер является null
NoSuchAlgorithmException - если реализация AlgorithmParameterGeneratorSpi для указанного алгоритма недоступна от указанного объекта Provider
NullPointerException - если algorithm является null
C момента:
1.4
См. также:
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, если этот объект параметров не был инициализирован.

© 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/java/security/AlgorithmParameters.html

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