|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class KeyAgreementSpi extends Object
KeyAgreement class. Все абстрактные методы в этом class должны быть реализованы каждым провайдером криптографических служб, который хочет предоставить реализацию определенного алгоритма согласования ключей. Ключи, включенные в установление совместно используемого секрета, создаются одним из ключевых генераторов (KeyPairGenerator или KeyGenerator), a KeyFactory, или в результате от промежуточной фазы протокола согласования ключей (engineDoPhase).
Для каждого из корреспондентов в ключевом обмене, engineDoPhase потребности, которые вызовут. Например, если ключевой обмен с одной другой стороной, engineDoPhase потребности, которые вызовут однажды, с lastPhase отметьте набор к true. Если ключевой обмен с двумя другими сторонами, engineDoPhase потребности, которые вызовут дважды, в первый раз устанавливая lastPhase флаг к false, и во второй раз, устанавливающий это в true. Может быть любое число сторон, включенных в ключевой обмен.
KeyGenerator, SecretKey| Конструктор и Описание |
|---|
KeyAgreementSpi() |
| Модификатор и Тип | Метод и Описание |
|---|---|
protected abstract Key |
engineDoPhase(Key key, boolean lastPhase)
Выполняет следующую фазу этого согласования ключей с данным ключом, который был получен от одной из других сторон, включенных в это согласование ключей.
|
protected abstract byte[] |
engineGenerateSecret()
Генерирует совместно используемый секрет и возвращает это в новом буфере.
|
protected abstract int |
engineGenerateSecret(byte[] sharedSecret, int offset)
Генерирует совместно используемый секрет, и помещает это в буфер
sharedSecret, начало в offset включительно. |
protected abstract SecretKey |
engineGenerateSecret(String algorithm)
Создает совместно используемый секрет и возвращает это как объект секретного ключа требуемого типа алгоритма.
|
protected abstract void |
engineInit(Key key, AlgorithmParameterSpec params, SecureRandom random)
Инициализирует это согласование ключей с данным ключом, набором параметров алгоритма, и источником случайности.
|
protected abstract void |
engineInit(Key key, SecureRandom random)
Инициализирует это согласование ключей с данным ключом и источником случайности.
|
protected abstract void engineInit(Key key, SecureRandom random) throws InvalidKeyException
Если алгоритм согласования ключей требует случайных байтов, это получает их от данного источника случайности, random. Однако, если базовая реализация алгоритма не требует никаких случайных байтов, random игнорируется.
key - частная информация стороны. Например, в случае согласования ключей Diffie-Hellman, это было бы собственным закрытым ключом стороны Diffie-Hellman.random - источник случайностиInvalidKeyException - если данный ключ является несоответствующим для этого согласования ключей, например, имеет неправильный тип или имеет несовместимый тип алгоритма.protected abstract void engineInit(Key key, AlgorithmParameterSpec params, SecureRandom random) throws InvalidKeyException, InvalidAlgorithmParameterException
key - частная информация стороны. Например, в случае согласования ключей Diffie-Hellman, это было бы собственным закрытым ключом стороны Diffie-Hellman.params - параметры согласования ключейrandom - источник случайностиInvalidKeyException - если данный ключ является несоответствующим для этого согласования ключей, например, имеет неправильный тип или имеет несовместимый тип алгоритма.InvalidAlgorithmParameterException - если данные параметры являются несоответствующими для этого согласования ключей.protected abstract Key engineDoPhase(Key key, boolean lastPhase) throws InvalidKeyException, IllegalStateException
key - ключ для этой фазы. Например, в случае Diffie-Hellman между 2 сторонами, это было бы открытым ключом другой стороны Diffie-Hellman.lastPhase - флаг, который указывает, является ли это последней фазой этого согласования ключей.InvalidKeyException - если данный ключ является несоответствующим для этой фазы.IllegalStateException - если это согласование ключей не было инициализировано.protected abstract byte[] engineGenerateSecret()
throws IllegalStateException
Этот метод сбрасывает это KeyAgreementSpi объект, так, чтобы это могло быть снова использовано для дальнейших согласований ключей. Если это согласование ключей не повторно инициализируется с одним из engineInit методы, та же самая частная информация и параметры алгоритма будут использоваться для последующих согласований ключей.
IllegalStateException - если это согласование ключей еще не было завершеноprotected abstract int engineGenerateSecret(byte[] sharedSecret,
int offset)
throws IllegalStateException,
ShortBufferException
sharedSecret, начало в offset включительно. Если sharedSecret буфер является слишком маленьким, чтобы содержать результат, a ShortBufferException бросается. В этом случае этот вызов должен быть повторен с большим буфером вывода.
Этот метод сбрасывает это KeyAgreementSpi объект, так, чтобы это могло быть снова использовано для дальнейших согласований ключей. Если это согласование ключей не повторно инициализируется с одним из engineInit методы, та же самая частная информация и параметры алгоритма будут использоваться для последующих согласований ключей.
sharedSecret - буфер для совместно используемого секретаoffset - смещение в sharedSecret где совместно используемый секрет будет сохраненsharedSecretIllegalStateException - если это согласование ключей еще не было завершеноShortBufferException - если данный буфер вывода является слишком небольшим, чтобы содержать секретprotected abstract SecretKey engineGenerateSecret(String algorithm) throws IllegalStateException, NoSuchAlgorithmException, InvalidKeyException
Этот метод сбрасывает это KeyAgreementSpi объект, так, чтобы это могло быть снова использовано для дальнейших согласований ключей. Если это согласование ключей не повторно инициализируется с одним из engineInit методы, та же самая частная информация и параметры алгоритма будут использоваться для последующих согласований ключей.
algorithm - требуемый алгоритм секретного ключаIllegalStateException - если это согласование ключей еще не было завершеноNoSuchAlgorithmException - если требуемый алгоритм секретного ключа не доступенInvalidKeyException - если совместно используемый материал секретного ключа не может использоваться, чтобы генерировать секретный ключ требуемого типа алгоритма (например, ключевой материал слишком короток),
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92