|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public class SecretKeyFactory extends Object
Ключевые фабрики используются, чтобы преобразовать ключи (непрозрачные криптографические ключи типа Key) в ключевые спецификации (прозрачные представления базового ключевого материала), и наоборот. Фабрики секретного ключа работают только на секретных (симметричных) ключах.
Ключевые фабрики двунаправлены, то есть, они позволяют создавать непрозрачный ключевой объект из данной ключевой спецификации (ключевой материал), или получать базовый ключевой материал ключевого объекта в подходящем формате.
Разработчики приложений должны сослаться на документацию их провайдера, чтобы узнать, какие ключевые спецификации поддерживаются generateSecret и getKeySpec методы. Например, фабрика секретного ключа DES, предоставленная провайдером "SunJCE", поддерживает DESKeySpec как прозрачное представление ключей DES, и что фабрика секретного ключа провайдера для Тройных ключей DES поддерживает DESedeKeySpec как прозрачное представление Тройных ключей DES.
Каждая реализация платформы Java обязана поддерживать следующий стандарт SecretKeyFactory алгоритмы:
SecretKey, DESKeySpec, DESedeKeySpec, PBEKeySpec| Модификатор | Конструктор и Описание |
|---|---|
protected |
SecretKeyFactory(SecretKeyFactorySpi keyFacSpi, Provider provider, String algorithm)
Создает объект SecretKeyFactory.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
SecretKey |
generateSecret(KeySpec keySpec)
Генерирует a
SecretKey объект от обеспеченной ключевой спецификации (ключевой материал). |
Строка |
getAlgorithm()
Возвращает имя алгоритма этого
SecretKeyFactory объект. |
static SecretKeyFactory |
getInstance(String algorithm)
Возвраты a
SecretKeyFactory объект, который преобразовывает секретные ключи указанного алгоритма. |
static SecretKeyFactory |
getInstance(String algorithm, Provider provider)
Возвраты a
SecretKeyFactory объект, который преобразовывает секретные ключи указанного алгоритма. |
static SecretKeyFactory |
getInstance(String algorithm, String provider)
Возвраты a
SecretKeyFactory объект, который преобразовывает секретные ключи указанного алгоритма. |
KeySpec |
getKeySpec(SecretKey key, Class<?> keySpec)
Возвращает спецификацию (ключевой материал) данного ключевого объекта в требуемом формате.
|
Провайдер |
getProvider()
Возвращает провайдера этого
SecretKeyFactory объект. |
SecretKey |
translateKey(SecretKey key)
Преобразовывает ключевой объект, провайдер которого может быть неизвестным или потенциально недоверяемым в соответствующий ключевой объект этой фабрики секретного ключа.
|
protected SecretKeyFactory(SecretKeyFactorySpi keyFacSpi, Provider provider, String algorithm)
keyFacSpi - делегатprovider - провайдерalgorithm - алгоритм секретного ключаpublic static final SecretKeyFactory getInstance(String algorithm) throws NoSuchAlgorithmException
SecretKeyFactory объект, который преобразовывает секретные ключи указанного алгоритма. Этот метод пересекает список зарегистрированных поставщиков систем обеспечения безопасности, запускающихся с самого привилегированного Провайдера. Возвращается новый объект SecretKeyFactory инкапсуляция реализации SecretKeyFactorySpi от первого Провайдера, который поддерживает указанный алгоритм.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders() метод.
algorithm - стандартное имя требуемого алгоритма секретного ключа. См. раздел SecretKeyFactory в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.SecretKeyFactory объект.NullPointerException - если указанный алгоритм является нулем.NoSuchAlgorithmException - если никакой Провайдер не поддерживает реализацию SecretKeyFactorySpi для указанного алгоритма.Providerpublic static final SecretKeyFactory getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
SecretKeyFactory объект, который преобразовывает секретные ключи указанного алгоритма. Возвращается новый объект SecretKeyFactory инкапсуляция реализации SecretKeyFactorySpi от указанного провайдера. Указанный провайдер должен быть зарегистрирован в списке поставщика систем обеспечения безопасности.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders() метод.
algorithm - стандартное имя требуемого алгоритма секретного ключа. См. раздел SecretKeyFactory в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.provider - имя провайдера.SecretKeyFactory объект.NoSuchAlgorithmException - если реализация SecretKeyFactorySpi для указанного алгоритма не доступна от указанного провайдера.NullPointerException - если указанный алгоритм является нулем.NoSuchProviderException - если указанный провайдер не регистрируется в списке поставщика систем обеспечения безопасности.IllegalArgumentException - если provider нуль или пустой.Providerpublic static final SecretKeyFactory getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
SecretKeyFactory объект, который преобразовывает секретные ключи указанного алгоритма. Возвращается новый объект SecretKeyFactory инкапсуляция реализации SecretKeyFactorySpi от указанного объекта Провайдера. Отметьте, что указанный объект Провайдера не должен быть зарегистрирован в списке провайдера.
algorithm - стандартное имя требуемого алгоритма секретного ключа. См. раздел SecretKeyFactory в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.provider - провайдер.SecretKeyFactory объект.NullPointerException - если указанный алгоритм является нулем.NoSuchAlgorithmException - если реализация SecretKeyFactorySpi для указанного алгоритма не доступна от указанного объекта Провайдера.IllegalArgumentException - если provider нуль.Providerpublic final Provider getProvider()
SecretKeyFactory объект.SecretKeyFactory объектpublic final String getAlgorithm()
SecretKeyFactory объект. Это - то же самое имя, которое было определено в одном из getInstance вызовы, которые создали это SecretKeyFactory объект.
SecretKeyFactory объект.public final SecretKey generateSecret(KeySpec keySpec) throws InvalidKeySpecException
SecretKey объект от обеспеченной ключевой спецификации (ключевой материал).keySpec - спецификация (ключевой материал) секретного ключаInvalidKeySpecException - если данная ключевая спецификация является несоответствующей для этой фабрики секретного ключа, чтобы произвести секретный ключ.public final KeySpec getKeySpec(SecretKey key, Class<?> keySpec) throws InvalidKeySpecException
key - ключkeySpec - требуемый формат, в котором должен быть возвращен ключевой материалInvalidKeySpecException - если требуемая ключевая спецификация является несоответствующей для данного ключа (например, алгоритмы, связанные с key и keySpec не соответствуйте, или key ссылается на ключ на криптографическом устройстве тогда как keySpec спецификация основанного на программном обеспечении ключа), или с данным ключом нельзя иметь дело с (например, у данного ключа есть алгоритм или формат, не поддерживаемый этой фабрикой секретного ключа).public final SecretKey translateKey(SecretKey key) throws InvalidKeyException
key - ключ, провайдер которого неизвестен или недоверяемInvalidKeyException - если данный ключ не может быть обработан этой фабрикой секретного ключа.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92