Spec-Zone.ru › OpenJDK 21

Класс SignatureSpi

java.lang.Object
java.security.SignatureSpi
Direct Known Subclasses:
Signature
public abstract class SignatureSpi extends Object
Этот класс определяет интерфейс поставщика сервисов (SPI) для класса Signature, который используется для обеспечения функциональности алгоритма цифровой подписи. Цифровые подписи используются для аутентификации и обеспечения целостности цифровых данных.

Все абстрактные методы в этом классе должны быть реализованы каждым поставщиком криптографических сервисов, желающим предоставить реализацию конкретного алгоритма подписи.

Since:
1.2
See Also:
  • Signature

Краткое описание полей

Модификатор и тип Поле Описание
protected SecureRandom appRandom
Источник случайных чисел, заданный приложением.

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

Конструктор Описание
SignatureSpi()
Конструктор для вызова подклассами.

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

Модификатор и тип Метод Описание
Object clone()
Возвращает клон, если реализация поддерживает клонирование.
protected abstract Object engineGetParameter(String param)
Устарело.
protected AlgorithmParameters engineGetParameters()
Возвращает параметры, используемые с этим объектом Signature.
protected abstract void engineInitSign(PrivateKey privateKey)
Инициализирует этот объект Signature с указанным закрытым ключом для операций подписи.
protected void engineInitSign(PrivateKey privateKey, SecureRandom random)
Инициализирует этот объект Signature с указанным закрытым ключом и источником случайных чисел для операций подписи.
protected abstract void engineInitVerify(PublicKey publicKey)
Инициализирует этот объект Signature с указанным открытым ключом для операций проверки.
protected abstract void engineSetParameter(String param, Object value)
Устарело.
Заменено на engineSetParameter.
protected void engineSetParameter(AlgorithmParameterSpec params)
Инициализирует этот объект Signature заданными значениями параметров.
protected abstract byte[] engineSign()
Возвращает байты подписи для всех данных, обновлённых до этого момента.
protected int engineSign(byte[] outbuf, int offset, int len)
Завершает операцию подписи и сохраняет полученные байты подписи в указанном буфере outbuf, начиная с позиции offset.
protected abstract void engineUpdate(byte b)
Обновляет данные, подлежащие подписи или проверке, используя указанный байт.
protected abstract void engineUpdate(byte[] b, int off, int len)
Обновляет данные, подлежащие подписи или проверке, используя указанный массив байтов, начиная с указанного смещения.
protected void engineUpdate(ByteBuffer input)
Обновляет данные, подлежащие подписи или проверке, используя указанный ByteBuffer.
protected abstract boolean engineVerify(byte[] sigBytes)
Проверяет переданную подпись.
protected boolean engineVerify(byte[] sigBytes, int offset, int length)
Проверяет переданную подпись в указанном массиве байтов, начиная с указанного смещения.

Методы, унаследованные от класса java.lang.Object

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

Подробное описание полей

appRandom

protected SecureRandom appRandom
Источник случайных чисел, заданный приложением.

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

SignatureSpi

public SignatureSpi()
Конструктор для вызова подклассами.

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

engineInitVerify

protected abstract void engineInitVerify(PublicKey publicKey) throws InvalidKeyException
Инициализирует этот объект Signature заданным открытым ключом для операций проверки подписи.
Параметры:
publicKey - открытый ключ идентификатора, чья подпись будет проверяться.
Исключения:
InvalidKeyException - если ключ закодирован некорректно, отсутствуют параметры и т. п.

engineInitSign

protected abstract void engineInitSign(PrivateKey privateKey) throws InvalidKeyException
Инициализирует этот объект Signature заданным закрытым ключом для операций подписи.
Параметры:
privateKey - закрытый ключ идентификатора, чья подпись будет сгенерирована.
Исключения:
InvalidKeyException - если ключ закодирован некорректно, отсутствуют параметры и т. п.

engineInitSign

protected void engineInitSign(PrivateKey privateKey, SecureRandom random) throws InvalidKeyException
Инициализирует этот объект Signature заданным закрытым ключом и источником случайных чисел для операций подписи.

Этот конкретный метод был добавлен в этот ранее определенный абстрактный класс. (Для обратной совместимости он не может быть абстрактным.)

Параметры:
privateKey - закрытый ключ идентификатора, чья подпись будет сгенерирована.
random - источник случайных чисел
Исключения:
InvalidKeyException - если ключ закодирован некорректно, отсутствуют параметры и т. п.

engineUpdate

protected abstract void engineUpdate(byte b) throws SignatureException
Обновляет данные для подписи или проверки с использованием указанного байта.
Параметры:
b - байт для обновления.
Исключения:
SignatureException - если движок не инициализирован должным образом.

engineUpdate

protected abstract void engineUpdate(byte[] b, int off, int len) throws SignatureException
Обновляет данные для подписи или проверки, используя указанный массив байтов, начиная с указанного смещения.
Параметры:
b - массив байтов
off - смещение для начала в массиве байтов
len - количество байтов для использования, начиная со смещения
Исключения:
SignatureException - если движок не инициализирован должным образом

engineUpdate

protected void engineUpdate(ByteBuffer input)
Обновляет данные для подписи или проверки, используя указанный ByteBuffer. Обрабатывает data.remaining() байты, начиная со data.position() . После возврата позиция буфера будет равна его пределу; его предел не изменится.
Параметры:
input - ByteBuffer
С:
1.5

engineSign

protected abstract byte[] engineSign() throws SignatureException
Возвращает байты подписи всех обновленных данных до сих пор. Формат подписи зависит от используемого схемы подписи.
Возвращает:
байты подписи результата операции подписи.
Исключения:
SignatureException - если движок не инициализирован должным образом или если этот алгоритм подписи не может обработать предоставленные входные данные.

engineSign

protected int engineSign(byte[] outbuf, int offset, int len) throws SignatureException
Завершает операцию подписи и сохраняет результирующие байты подписи в предоставленном буфере outbuf, начиная со offset. Формат подписи зависит от используемой схемы подписи.

Реализация подписи сбрасывается в исходное состояние (состояние, в котором она находилась после вызова одного из engineInitSign методов) и может быть повторно использована для генерации дополнительных подписей с тем же закрытым ключом. Этот метод должен быть абстрактным, но мы оставляем его конкретным для обеспечения обратной совместимости. Опытные поставщики должны переопределить этот метод.

Параметры:
outbuf - буфер для результата подписи.
offset - смещение в outbuf , где хранится подпись.
len - количество байтов в outbuf , выделенное для подписи. Как эта реализация по умолчанию, так и поставщик SUN не возвращают частичные дайджесты. Если значение этого параметра меньше фактической длины подписи, этот метод вернет SignatureException. Этот параметр игнорируется, если его значение больше или равно фактической длине подписи.
Возвращает:
количество байтов, помещенных в outbuf
Исключения:
SignatureException - если движок не инициализирован должным образом, если этот алгоритм подписи не может обработать предоставленные входные данные или если len меньше фактической длины подписи.
С:
1.2

engineVerify

protected abstract boolean engineVerify(byte[] sigBytes) throws SignatureException
Проверяет предоставленную подпись.
Параметры:
sigBytes - байты подписи для проверки.
Возвращает:
true , если подпись была проверена, false , если нет.
Исключения:
SignatureException - если движок не инициализирован должным образом, предоставленная подпись закодирована неправильно или имеет неправильный тип, если этот алгоритм подписи не может обработать предоставленные входные данные и т. п.

engineVerify

protected boolean engineVerify(byte[] sigBytes, int offset, int length) throws SignatureException
Проверяет предоставленную подпись в указанном массиве байтов, начиная с указанного смещения.

Примечание: подклассы должны переопределять реализацию по умолчанию.

Параметры:
sigBytes - байты подписи для проверки.
offset - смещение для начала в массиве байтов.
length - количество байтов для использования, начиная со смещения.
Возвращает:
true , если подпись была проверена, false , если нет.
Исключения:
SignatureException - если движок не инициализирован должным образом, предоставленная подпись закодирована неправильно или имеет неправильный тип, если этот алгоритм подписи не может обработать предоставленные входные данные и т. п.
С:
1.4

engineSetParameter

@Deprecated protected abstract void engineSetParameter(String param, Object value) throws InvalidParameterException
Устарело.
Заменено на engineSetParameter.
Устанавливает заданный параметр алгоритма в указанное значение. Этот метод предоставляет общий механизм, с помощью которого можно установить различные параметры этого объекта. Параметр может быть любым устанавливаемым параметром алгоритма, таким как размер параметра или источник случайных бит для генерации подписи (если это уместно), или указание на выполнение определённого, но необязательного вычисления. Желательно, но не обязательно, использовать унифицированную схему именования алгоритм-специфичных параметров.
Параметры:
param - строковый идентификатор параметра.
value - значение параметра.
Исключения:
InvalidParameterException - если param является недопустимым параметром для этого объекта Signature, параметр уже установлен и не может быть установлен повторно, возникает исключение безопасности и т. п.

engineSetParameter

protected void engineSetParameter(AlgorithmParameterSpec params) throws InvalidAlgorithmParameterException
Инициализирует этот объект Signature заданными значениями параметров.
Параметры:
params - параметры
Исключения:
UnsupportedOperationException - если этот метод не переопределён поставщиком
InvalidAlgorithmParameterException - если этот метод переопределён поставщиком и заданные параметры неподходящие для этого объекта Signature

engineGetParameters

protected AlgorithmParameters engineGetParameters()
Возвращает параметры, используемые с этим объектом Signature.

Возвращаемые параметры могут быть теми же, что и были использованы для инициализации этого объекта Signature, или могут содержать дополнительные значения параметров по умолчанию или случайные параметры, используемые используемой схемой подписи. Если требуемые параметры не были предоставлены и могут быть сгенерированы объектом Signature, возвращаются сгенерированные параметры; в противном случае возвращается null.

Однако, если схема подписи не поддерживает возвращение параметров как AlgorithmParameters, всегда возвращается null.

Возвращает:
параметры, используемые с этим объектом Signature, или null
Исключения:
UnsupportedOperationException - если этот метод не переопределён поставщиком
С:
1.4

engineGetParameter

@Deprecated protected abstract Object engineGetParameter(String param) throws InvalidParameterException
Deprecated.
Возвращает значение указанного параметра алгоритма. Этот метод предоставляет общий механизм для получения различных параметров этого объекта. Параметр может быть любым устанавливаемым параметром алгоритма, например, размером параметра или источником случайных бит для генерации подписи (если это необходимо), или указанием на выполнение специфического, но необязательного вычисления. Желательно использовать единообразную схему именования параметров, специфичную для алгоритма, но на данный момент она не определена.
Параметры:
param - строковое имя параметра.
Возвращает:
объект, представляющий значение параметра, или null, если такого параметра нет.
Исключения:
InvalidParameterException - если param является недопустимым параметром для этого модуля, или при попытке получения этого параметра произошла другая ошибка.

clone

public Object clone() throws CloneNotSupportedException
Возвращает копию, если реализация поддерживает клонирование.
Переопределяет:
clone в классе Object
Возвращает:
копию, если реализация поддерживает клонирование.
Исключения:
CloneNotSupportedException - если этот метод вызывается на реализации, которая не поддерживает Cloneable.
См. также:
  • Cloneable

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

Spec-Zone.ru

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