Класс KeyFactorySpi

public abstract class KeyFactorySpi
extends Object

Этот класс определяет интерфейс поставщика услуг (SPI) для класса KeyFactory. Все абстрактные методы в этом классе должны быть реализованы каждым поставщиком криптографических услуг, желающим предоставить реализацию фабрики ключей для определенного алгоритма.

Фабрики ключей используются для преобразования ключей (непрозрачных криптографических ключей типа Key) в спецификации ключей (прозрачные представления базового ключевого материала), и наоборот.

Фабрики ключей являются двунаправленными. То есть они позволяют вам создать объект непрозрачного ключа из заданной спецификации ключа (ключевого материала) или извлечь базовый ключевой материал объекта ключа в подходящем формате.

Для одного и того же ключа может существовать несколько совместимых спецификаций ключей. Например, открытый ключ DSA может быть задан с помощью DSAPublicKeySpec или X509EncodedKeySpec. Фабрика ключей может использоваться для преобразования между совместимыми спецификациями ключей.

Поставщик должен документировать все спецификации ключей, поддерживаемые его фабрикой ключей.

Since:
1.2
See Also:
KeyFactory, Key, PublicKey, PrivateKey, KeySpec, DSAPublicKeySpec, X509EncodedKeySpec

Конструкторы

КонструкторОписание
KeyFactorySpi()

Методы

Модификатор и типМетодОписание
protected abstract PrivateKeyengineGeneratePrivate​(KeySpec keySpec)

Генерирует объект закрытого ключа из предоставленной спецификации ключа (ключевого материала).

protected abstract PublicKeyengineGeneratePublic​(KeySpec keySpec)

Генерирует объект открытого ключа из предоставленной спецификации ключа (ключевого материала).

protected abstract <T extends KeySpec>
T
engineGetKeySpec​(Key key, Class<T> keySpec)

Возвращает спецификацию (ключевой материал) данного объекта ключа.

protected abstract KeyengineTranslateKey​(Key key)

Преобразует объект ключа, чей поставщик может быть неизвестен или потенциально недоверен, в соответствующий объект ключа этой фабрики ключей.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

()

public KeyFactorySpi()

Методы

engineGeneratePublic(java.security.spec.KeySpec)

protected abstract PublicKey engineGeneratePublic(KeySpec keySpec)
                                           throws InvalidKeySpecException

Генерирует объект открытого ключа из предоставленной спецификации ключа (ключевого материала).

Параметры:
keySpec - спецификация (ключевой материал) открытого ключа.
Возвращает:
открытый ключ.
Исключения:
InvalidKeySpecException - если заданная спецификация ключа не подходит для этой фабрики ключей для создания открытого ключа.

engineGeneratePrivate(java.security.spec.KeySpec)

protected abstract PrivateKey engineGeneratePrivate(KeySpec keySpec)
                                             throws InvalidKeySpecException

Генерирует объект закрытого ключа из предоставленной спецификации ключа (ключевого материала).

Параметры:
keySpec - спецификация (ключевой материал) закрытого ключа.
Возвращает:
закрытый ключ.
Исключения:
InvalidKeySpecException - если заданная спецификация ключа не подходит для этой фабрики ключей для создания закрытого ключа.

engineGetKeySpec(java.security.Key,java.lang.Class)

protected abstract <T extends KeySpec> T engineGetKeySpec(Key key,
                                                          Class<T> keySpec)
                                                   throws InvalidKeySpecException

Возвращает спецификацию (ключевой материал) данного объекта ключа. keySpec определяет класс спецификации, в котором должен быть возвращен ключевой материал. Например, это может быть DSAPublicKeySpec.class, чтобы указать, что ключевой материал должен быть возвращен в экземпляре класса DSAPublicKeySpec.

Параметризованные типы:
T - тип возвращаемой спецификации ключа
Параметры:
key - ключ.
keySpec - класс спецификации, в котором должен быть возвращен ключевой материал.
Возвращает:
базовая спецификация ключа (ключевой материал) в экземпляре запрошенного класса спецификации.
Исключения:
InvalidKeySpecException - если запрошенная спецификация ключа не подходит для данного ключа, или с данным ключом нельзя обработать (например, у данного ключа не распознаваемый формат).

engineTranslateKey(java.security.Key)

protected abstract Key engineTranslateKey(Key key)
                                   throws InvalidKeyException

Преобразует объект ключа, чей поставщик может быть неизвестен или потенциально недоверен, в соответствующий объект ключа этой фабрики ключей.

Параметры:
key - ключ, чей поставщик неизвестен или недоверен.
Возвращает:
преобразованный ключ.
Исключения:
InvalidKeyException - если данный ключ не может быть обработан этой фабрикой ключей.

© 1993, 2020, 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/11/docs/api/java.base/java/security/KeyFactorySpi.html

Spec-Zone .ru
спецификации, руководства, описания, API