Spec-Zone.ru › OpenJDK 17

Класс SignatureSpi

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

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

С тех пор:
1.2
См. также:
  • Signature

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

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

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

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

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

Модификатор и тип Метод Описание
Object clone()
Возвращает клон, если реализация поддерживает клонирование.
protected abstract Object engineGetParameter(String param)
Устарело.
protected AlgorithmParameters engineGetParameters()
Этот метод переопределяется поставщиками для возвращения параметров, используемых с этим движком подписи.
protected abstract void engineInitSign(PrivateKey privateKey)
Инициализирует этот объект подписи с заданным закрытым ключом для операций подписи.
protected void engineInitSign(PrivateKey privateKey, SecureRandom random)
Инициализирует этот объект подписи с заданным закрытым ключом и источником случайных чисел для операций подписи.
protected abstract void engineInitVerify(PublicKey publicKey)
Инициализирует этот объект подписи с заданным открытым ключом для операций проверки.
protected abstract void engineSetParameter(String param, Object value)
Устарело.
Заменено на engineSetParameter.
protected void engineSetParameter(AlgorithmParameterSpec params)
Этот метод переопределяется поставщиками для инициализации этого движка подписи заданным набором параметров.
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
Инициализирует этот объект подписи указанным открытым ключом для операций проверки.
Параметры:
publicKey - открытый ключ идентичности, чья подпись будет проверена.
Исключения:
InvalidKeyException - если ключ закодирован некорректно, отсутствуют параметры и т.п.

engineInitSign

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

engineInitSign

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

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

Параметры:
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 является недопустимым параметром для данного алгоритма двигателя подписи, параметр уже установлен и не может быть установлен повторно, возникает исключение безопасности и т.д.

engineSetParameter

protected void engineSetParameter(AlgorithmParameterSpec params) throws InvalidAlgorithmParameterException

Этот метод переопределяется поставщиками для инициализации этого двигателя подписи указанным набором параметров.

Параметры:
params - параметры
Исключения:
UnsupportedOperationException - если этот метод не переопределен поставщиком
InvalidAlgorithmParameterException - если этот метод переопределен поставщиком и указанные параметры не подходят для этого двигателя подписи

engineGetParameters

protected AlgorithmParameters engineGetParameters()

Этот метод переопределяется поставщиками для возврата параметров, используемых с этим двигателем подписи.

Если этот движок подписи был инициализирован параметрами (вызовом engineSetParameter(AlgorithmParameterSpec) или engineSetParameter(String, Object)) и базовая реализация подписи поддерживает возврат параметров в виде AlgorithmParameters, этот метод возвращает те же параметры. Если параметры не были установлены, этот метод может вернуть комбинацию значений параметров по умолчанию и случайно сгенерированных значений, если базовая реализация подписи поддерживает это и может успешно их сгенерировать. В противном случае возвращается null.

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

engineGetParameter

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

clone

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

© 1993, 2021, 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/17/docs/api/java.base/java/security/SignatureSpi.html

Spec-Zone.ru

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