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 для указанного алгоритма.Provider
public 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
нуль или пустой.Provider
public static final SecretKeyFactory getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
SecretKeyFactory
объект, который преобразовывает секретные ключи указанного алгоритма. Возвращается новый объект SecretKeyFactory инкапсуляция реализации SecretKeyFactorySpi от указанного объекта Провайдера. Отметьте, что указанный объект Провайдера не должен быть зарегистрирован в списке провайдера.
algorithm
- стандартное имя требуемого алгоритма секретного ключа. См. раздел SecretKeyFactory в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.provider
- провайдер.SecretKeyFactory
объект.NullPointerException
- если указанный алгоритм является нулем.NoSuchAlgorithmException
- если реализация SecretKeyFactorySpi для указанного алгоритма не доступна от указанного объекта Провайдера.IllegalArgumentException
- если provider
нуль.Provider
public 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 и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.