Класс KeyFactorySpi
public abstract class KeyFactorySpi extends Object
KeyFactory. Все абстрактные методы этого класса должны быть реализованы каждым поставщиком криптографических служб, желающим предоставить реализацию фабрики ключей для определенного алгоритма. Фабрики ключей используются для преобразования ключей (непрозрачных криптографических ключей типа Key) в спецификации ключей (прозрачные представления базового материала ключа) и наоборот.
Фабрики ключей поддерживают двунаправленное преобразование. Иными словами, они позволяют создать непрозрачный объект ключа на основе заданной спецификации ключа (материала ключа) или получить базовый материал ключа из объекта ключа в подходящем формате.
Для одного и того же ключа может существовать несколько совместимых спецификаций ключа. Например, открытый ключ DSA может быть задан с помощью DSAPublicKeySpec или X509EncodedKeySpec. Фабрику ключей можно использовать для преобразования между совместимыми спецификациями ключей.
Поставщик должен задокументировать все спецификации ключей, поддерживаемые его фабрикой ключей.
- Начиная с версии:
- 1.2
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
KeyFactorySpi() |
Конструктор для вызова подклассами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected abstract PrivateKey |
engineGeneratePrivate |
Создает объект закрытого ключа на основе предоставленной спецификации ключа (материала ключа). |
protected abstract PublicKey |
engineGeneratePublic |
Создает объект открытого ключа на основе предоставленной спецификации ключа (материала ключа). |
protected abstract <T extends KeySpec> |
engineGetKeySpec |
Возвращает спецификацию (материал ключа) заданного объекта ключа. |
protected abstract Key |
engineTranslateKey |
Преобразует объект ключа, поставщик которого может быть неизвестен или потенциально ненадежен, в соответствующий объект ключа этой фабрики ключей. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело и будет удалено: этот элемент API может быть удален в будущей версии. Финализация устарела и будет удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного времени. |
Подробное описание конструкторов
KeyFactorySpi
public KeyFactorySpi()
Подробное описание методов
engineGeneratePublic
protected abstract PublicKey engineGeneratePublic(KeySpec keySpec) throws InvalidKeySpecException
- Параметры:
-
keySpec— спецификация (материал ключа) открытого ключа. - Возвращает:
- открытый ключ.
- Исключения:
-
InvalidKeySpecException— если заданная спецификация ключа не подходит для создания открытого ключа этой фабрикой ключей.
engineGeneratePrivate
protected abstract PrivateKey engineGeneratePrivate(KeySpec keySpec) throws InvalidKeySpecException
- Параметры:
-
keySpec— спецификация (материал ключа) закрытого ключа. - Возвращает:
- закрытый ключ.
- Исключения:
-
InvalidKeySpecException— если заданная спецификация ключа не подходит для создания закрытого ключа этой фабрикой ключей.
engineGetKeySpec
protected abstract <T extends KeySpec> T engineGetKeySpec(Key key, Class<T> keySpec) throws InvalidKeySpecException
keySpec указывает класс спецификации, в котором должен быть возвращен материал ключа. Например, это может быть DSAPublicKeySpec.class, указывающий, что материал ключа должен быть возвращен в экземпляре класса DSAPublicKeySpec.- Параметры типа:
T— тип возвращаемой спецификации ключа- Параметры:
-
key— ключ. -
keySpec— класс спецификации, в котором должен быть возвращен материал ключа. - Возвращает:
- базовую спецификацию ключа (материал ключа) в экземпляре запрошенного класса спецификации.
- Исключения:
-
InvalidKeySpecException— если запрошенная спецификация ключа не подходит для заданного ключа или заданный ключ не может быть обработан (например, его формат не распознан).
engineTranslateKey
protected abstract Key engineTranslateKey(Key key) throws InvalidKeyException
- Параметры:
-
key— ключ, поставщик которого неизвестен или ненадежен. - Возвращает:
- преобразованный ключ.
- Исключения:
-
InvalidKeyException— если заданный ключ не может быть обработан этой фабрикой ключей.
© 1993, 2025, 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.