Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class Signature extends SignatureSpi
Алгоритм подписи может быть, среди других, DSA стандарта NIST, используя DSA и SHA 1. Алгоритм DSA, используя SHA 1 алгоритм обзора сообщения может быть определен как SHA1withDSA. В случае RSA есть разнообразный выбор для алгоритма обзора сообщения, таким образом, алгоритм подписания мог быть определен как, например, MD2withRSA, MD5withRSA, или SHA1withRSA. Имя алгоритма должно быть определено, поскольку нет никакого значения по умолчанию.
Объект Подписи может использоваться, чтобы генерировать и проверить цифровые подписи.
Есть три фазы к использованию объекта Подписи или для подписания данных или для проверки подписи:
initVerify
), или initSign(PrivateKey)
и initSign(PrivateKey, SecureRandom)
).
В зависимости от типа инициализации это обновит байты, которые будут подписаны или проверены. См. update
методы.
sign
методы и verify
метод. Отметьте, что этот class абстрактен и расширяется от SignatureSpi
по историческим причинам. Разработчики приложений должны только заметить методов, определенных в этом Signature
class; все методы в суперклассе предназначаются для провайдеров криптографических служб, которые хотят предоставить их собственные реализации алгоритмов цифровой подписи.
Каждая реализация платформы Java обязана поддерживать следующий стандарт Signature
алгоритмы:
Модификатор и Тип | Поле и Описание |
---|---|
protected static int |
ЗНАК
Возможный
state значение, показывая, что этот объект подписи был инициализирован для того, чтобы подписаться. |
protected int |
состояние
Текущее состояние этого объекта подписи.
|
protected static int |
НЕИНИЦИАЛИЗИРОВАННЫЙ
Возможный
state значение, показывая, что этот объект подписи еще не был инициализирован. |
protected static int |
ПРОВЕРИТЬ
Возможный
state значение, показывая, что этот объект подписи был инициализирован для проверки. |
appRandom
Модификатор | Конструктор и Описание |
---|---|
protected |
Signature(String algorithm)
Создает объект Подписи для указанного алгоритма.
|
Модификатор и Тип | Метод и Описание |
---|---|
Объект |
clone()
Возвращает клона, если реализация является cloneable.
|
Строка |
getAlgorithm()
Возвращает имя алгоритма для этого объекта подписи.
|
static Signature |
getInstance(String algorithm)
Возвращается Подпись возражают, что реализует указанный алгоритм подписи.
|
static Signature |
getInstance(String algorithm, Provider provider)
Возвращается Подпись возражают, что реализует указанный алгоритм подписи.
|
static Signature |
getInstance(String algorithm, String provider)
Возвращается Подпись возражают, что реализует указанный алгоритм подписи.
|
Объект |
getParameter(String param)
Осуждаемый.
|
AlgorithmParameters |
getParameters()
Возвращает параметры, используемые с этим объектом подписи.
|
Провайдер |
getProvider()
Возвращает провайдера этого объекта подписи.
|
void |
initSign(PrivateKey privateKey)
Инициализируйте этот объект для того, чтобы подписаться.
|
void |
initSign(PrivateKey privateKey, SecureRandom random)
Инициализируйте этот объект для того, чтобы подписаться.
|
void |
initVerify(Certificate certificate)
Инициализирует этот объект для проверки, используя открытый ключ от данного сертификата.
|
void |
initVerify(PublicKey publicKey)
Инициализирует этот объект для проверки.
|
void |
setParameter(AlgorithmParameterSpec params)
Инициализирует этот механизм подписи с указанным набором параметра.
|
void |
setParameter(String param, Object value)
Осуждаемый.
Использовать
setParameter . |
byte[] |
sign()
Возвращает байты подписи всех обновленных данных.
|
int |
sign(byte[] outbuf, int offset, int len)
Заканчивает работу подписи и хранит получающиеся байты подписи в обеспеченном буфере
outbuf , запуск в offset . |
Строка |
toString()
Возвращает строковое представление этого объекта подписи, предоставляя информацию, которая включает состояние объекта и имя используемого алгоритма.
|
void |
update(byte b)
Обновляет данные, которые будут подписаны или проверены байтом.
|
void |
update(byte[] data)
Обновляет данные, которые будут подписаны или проверены, используя указанный массив байтов.
|
void |
update(byte[] data, int off, int len)
Обновляет данные, которые будут подписаны или проверены, используя указанный массив байтов, запускаясь при указанном смещении.
|
void |
update(ByteBuffer data)
Обновляет данные, которые будут подписаны, или проверял использование указанного ByteBuffer.
|
boolean |
verify(byte[] signature)
Проверяет переданный - в подписи.
|
boolean |
verify(byte[] signature, int offset, int length)
Проверяет переданный - в подписи в указанном массиве байтов, запускающихся при указанном смещении.
|
engineGetParameter, engineGetParameters, engineInitSign, engineInitSign, engineInitVerify, engineSetParameter, engineSetParameter, engineSign, engineSign, engineUpdate, engineUpdate, engineUpdate, engineVerify, engineVerify
protected static final int UNINITIALIZED
state
значение, показывая, что этот объект подписи еще не был инициализирован.protected static final int SIGN
state
значение, показывая, что этот объект подписи был инициализирован для того, чтобы подписаться.protected static final int VERIFY
state
значение, показывая, что этот объект подписи был инициализирован для проверки.protected int state
protected Signature(String algorithm)
algorithm
- стандартное имя строки алгоритма. См. раздел Подписи в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.public static Signature getInstance(String algorithm) throws NoSuchAlgorithmException
Этот метод пересекает список зарегистрированных поставщиков систем обеспечения безопасности, запускающихся с самого привилегированного Провайдера. Возвращается новый объект Подписи инкапсуляция реализации SignatureSpi от первого Провайдера, который поддерживает указанный алгоритм.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders()
метод.
algorithm
- стандартное имя алгоритма требуют. См. раздел Подписи в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.NoSuchAlgorithmException
- если никакой Провайдер не поддерживает реализацию Подписи для указанного алгоритма.Provider
public static Signature getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
Возвращается новый объект Подписи инкапсуляция реализации SignatureSpi от указанного провайдера. Указанный провайдер должен быть зарегистрирован в списке поставщика систем обеспечения безопасности.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders()
метод.
algorithm
- имя алгоритма требуют. См. раздел Подписи в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.provider
- имя провайдера.NoSuchAlgorithmException
- если реализация SignatureSpi для указанного алгоритма не доступна от указанного провайдера.NoSuchProviderException
- если указанный провайдер не регистрируется в списке поставщика систем обеспечения безопасности.IllegalArgumentException
- если имя провайдера является нулем или пустой.Provider
public static Signature getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
Возвращается новый объект Подписи инкапсуляция реализации SignatureSpi от указанного объекта Провайдера. Отметьте, что указанный объект Провайдера не должен быть зарегистрирован в списке провайдера.
algorithm
- имя алгоритма требуют. См. раздел Подписи в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.provider
- провайдер.NoSuchAlgorithmException
- если реализация SignatureSpi для указанного алгоритма не доступна от указанного объекта Провайдера.IllegalArgumentException
- если провайдер является нулем.Provider
public final Provider getProvider()
public final void initVerify(PublicKey publicKey) throws InvalidKeyException
publicKey
- открытый ключ идентификационных данных, подпись которых собирается быть проверенной.InvalidKeyException
- если ключ недопустим.public final void initVerify(Certificate certificate) throws InvalidKeyException
Если сертификат имеет тип X.509 и имеет ключевое поле расширения использования, отмеченное как критическое, и значение ключевого поля расширения использования подразумевает, что открытый ключ в сертификате и его соответствующем закрытом ключе, как предполагается, не используется для цифровых подписей, InvalidKeyException
бросается.
certificate
- сертификат об идентификационных данных, подпись которых собирается быть проверенной.InvalidKeyException
- если открытый ключ в сертификате не кодируется должным образом или не включает информацию об обязательном параметре или не может использоваться в целях цифровой подписи.public final void initSign(PrivateKey privateKey) throws InvalidKeyException
privateKey
- закрытый ключ идентификационных данных, подпись которых собирается быть сгенерированной.InvalidKeyException
- если ключ недопустим.public final void initSign(PrivateKey privateKey, SecureRandom random) throws InvalidKeyException
privateKey
- закрытый ключ идентификационных данных, подпись которых собирается быть сгенерированной.random
- источник случайности для этой подписи.InvalidKeyException
- если ключ недопустим.public final byte[] sign() throws SignatureException
Звонок в этот метод сбрасывает этот объект подписи к состоянию, в котором это было когда ранее инициализировано для того, чтобы подписаться через звонок initSign(PrivateKey)
. Таким образом, объект сбрасывается и доступен, чтобы генерировать другую подпись от того же самого подписывающего лица, при желании, через новые звонки update
и sign
.
SignatureException
- если этот объект подписи не инициализируется должным образом или если этот алгоритм подписи неспособен обработать входные обеспеченные данные.public final int sign(byte[] outbuf, int offset, int len) throws SignatureException
outbuf
, запуск в offset
. Формат подписи зависит от базовой схемы подписи. Этот объект подписи сбрасывается к его начальному состоянию (состояние, в котором это было после звонка в один из initSign
методы), и может быть снова использован, чтобы генерировать дальнейшие подписи с тем же самым закрытым ключом.
outbuf
- буфер для результата подписи.offset
- смещение в outbuf
где подпись сохранена.len
- число байтов в пределах outbuf
выделенный для подписи.outbuf
.SignatureException
- если этот объект подписи не инициализируется должным образом, если этот алгоритм подписи неспособен обработать входные данные если, или если len
меньше чем фактическая длина подписи.public final boolean verify(byte[] signature) throws SignatureException
Звонок в этот метод сбрасывает этот объект подписи к состоянию, в котором это было когда ранее инициализировано для проверки через звонок initVerify(PublicKey)
. Таким образом, объект сбрасывается и доступен, чтобы проверить другую подпись от идентификационных данных, открытый ключ которых был определен в звонке initVerify
.
signature
- байты подписи, которые будут проверены.SignatureException
- если этот объект подписи не инициализируется должным образом, переданный - в подписи ненадлежащим образом кодируется или неправильного типа, если этот алгоритм подписи неспособен обработать входные данные если и т.д.public final boolean verify(byte[] signature, int offset, int length) throws SignatureException
Звонок в этот метод сбрасывает этот объект подписи к состоянию, в котором это было когда ранее инициализировано для проверки через звонок initVerify(PublicKey)
. Таким образом, объект сбрасывается и доступен, чтобы проверить другую подпись от идентификационных данных, открытый ключ которых был определен в звонке initVerify
.
signature
- байты подписи, которые будут проверены.offset
- смещение, чтобы запуститься с в массиве байтов.length
- число байтов, чтобы использовать, запускаясь при смещении.SignatureException
- если этот объект подписи не инициализируется должным образом, переданный - в подписи ненадлежащим образом кодируется или неправильного типа, если этот алгоритм подписи неспособен обработать входные данные если и т.д.IllegalArgumentException
- если signature
байтовый массив является нулем, или offset
или length
меньше чем 0, или сумма offset
и length
больше чем длина signature
байтовый массив.public final void update(byte b) throws SignatureException
b
- байт, чтобы использовать для обновления.SignatureException
- если этот объект подписи не инициализируется должным образом.public final void update(byte[] data) throws SignatureException
data
- байтовый массив, чтобы использовать для обновления.SignatureException
- если этот объект подписи не инициализируется должным образом.public final void update(byte[] data, int off, int len) throws SignatureException
data
- массив байтов.off
- смещение, чтобы запуститься с в массиве байтов.len
- число байтов, чтобы использовать, запускаясь при смещении.SignatureException
- если этот объект подписи не инициализируется должным образом.public final void update(ByteBuffer data) throws SignatureException
data.remaining()
байты, запускающиеся в в data.position()
. По возврату позиция буфера будет равна своему пределу; его предел не будет изменяться.data
- ByteBufferSignatureException
- если этот объект подписи не инициализируется должным образом.public final String getAlgorithm()
public String toString()
@Deprecated public final void setParameter(String param, Object value) throws InvalidParameterException
setParameter
.param
- строковый идентификатор параметра.value
- значение параметра.InvalidParameterException
- если param
недопустимый параметр для этого механизма алгоритма подписи, параметры уже устанавливаются и не могут быть установлены снова, исключение безопасности происходит и так далее.getParameter(java.lang.String)
public final void setParameter(AlgorithmParameterSpec params) throws InvalidAlgorithmParameterException
params
- параметрыInvalidAlgorithmParameterException
- если данные параметры являются несоответствующими для этого механизма подписиgetParameters()
public final AlgorithmParameters getParameters()
Возвращенные параметры могут быть тем же самым, которые использовались, чтобы инициализировать эту подпись, или могут содержать комбинацию значения по умолчанию и в произвольном порядке сгенерированных значений параметра, используемых базовой реализацией подписи, если эта подпись требует параметров алгоритма, но не была инициализирована ни с кем.
setParameter(AlgorithmParameterSpec)
@Deprecated public final Object getParameter(String param) throws InvalidParameterException
param
- имя строки параметра.InvalidParameterException
- если param
недопустимый параметр для этого механизма, или другое исключение происходит, пытаясь получить этот параметр.setParameter(String, Object)
public Object clone() throws CloneNotSupportedException
clone
в class SignatureSpi
CloneNotSupportedException
- если это вызывают на реализации, которая не поддерживает Cloneable
.Cloneable
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92