Класс SignatureSpi
- Прямые известные подклассы:
Signature
public abstract class SignatureSpi extends Object
Signature, который используется для предоставления функциональности алгоритма цифровой подписи. Цифровые подписи используются для аутентификации и обеспечения целостности цифровых данных. Все абстрактные методы этого класса должны быть реализованы каждым поставщиком криптографических служб, желающим предоставить реализацию определённого алгоритма подписи.
- Начиная с:
- 1.2
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected SecureRandom |
appRandom |
Указанный приложением источник случайности. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SignatureSpi() |
Конструктор для вызова подклассами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Возвращает клон, если реализация поддерживает клонирование. |
protected abstract Object |
engineGetParameter |
Устарело. |
protected AlgorithmParameters |
engineGetParameters() |
Возвращает параметры, используемые с этим объектом Signature. |
protected abstract void |
engineInitSign |
Инициализирует этот объект Signature указанным закрытым ключом для операций подписания. |
protected void |
engineInitSign |
Инициализирует этот объект Signature указанным закрытым ключом и источником случайности для операций подписания. |
protected abstract void |
engineInitVerify |
Инициализирует этот объект Signature указанным открытым ключом для операций проверки. |
protected abstract void |
engineSetParameter |
Устарело. |
protected void |
engineSetParameter |
Инициализирует этот объект Signature указанными значениями параметров. |
protected abstract byte[] |
engineSign() |
Возвращает байты подписи для всех данных, обработанных на данный момент. |
protected int |
engineSign |
Завершает эту операцию подписания и сохраняет полученные байты подписи в предоставленном буфере outbuf, начиная с позиции offset. |
protected abstract void |
engineUpdate |
Обновляет данные для подписания или проверки, используя указанный байт. |
protected abstract void |
engineUpdate |
Обновляет данные для подписания или проверки, используя указанный массив байтов, начиная с заданного смещения. |
protected void |
engineUpdate |
Обновляет данные для подписания или проверки, используя указанный ByteBuffer. |
protected abstract boolean |
engineVerify |
Проверяет переданную подпись. |
protected boolean |
engineVerify |
Проверяет переданную подпись в указанном массиве байтов, начиная с заданного смещения. |
Подробное описание полей
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)
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
- Параметры:
-
param— строковое имя параметра. - Возвращает:
- объект, представляющий значение параметра, или
null, если такого значения нет. - Исключения:
-
InvalidParameterException— еслиparamявляется недопустимым параметром для этого механизма или при попытке получить этот параметр возникает другое исключение.
clone
public Object clone() throws CloneNotSupportedException
- Переопределяет:
-
cloneв классеObject - Возвращает:
- клон, если реализация поддерживает клонирование.
- Исключения:
-
CloneNotSupportedException— если этот метод вызван для реализации, не поддерживающейCloneable. - См. также:
© 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/SignatureSpi.html
engineSetParameter.