Spec-Zone.ru › OpenJDK 27

Класс KeyFactorySpi

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

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

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

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

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

Начиная с версии:
1.2
См. также:
  • KeyFactory
  • Key
  • PublicKey
  • PrivateKey
  • KeySpec
  • DSAPublicKeySpec
  • X509EncodedKeySpec

Краткое описание конструкторов

Конструктор Описание
KeyFactorySpi()
Конструктор для вызова подклассами.

Краткое описание методов

Модификатор и тип Метод Описание
protected abstract PrivateKey engineGeneratePrivate(KeySpec keySpec)
Создает объект закрытого ключа на основе предоставленной спецификации ключа (материала ключа).
protected abstract PublicKey engineGeneratePublic(KeySpec keySpec)
Создает объект открытого ключа на основе предоставленной спецификации ключа (материала ключа).
protected abstract <T extends KeySpec>
T
engineGetKeySpec(Key key, Class<T> keySpec)
Возвращает спецификацию (материал ключа) заданного объекта ключа.
protected abstract Key engineTranslateKey(Key key)
Преобразует объект ключа, поставщик которого может быть неизвестен или потенциально ненадежен, в соответствующий объект ключа этой фабрики ключей.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект какому-либо другому объекту.
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(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова 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 — если заданный ключ не может быть обработан этой фабрикой ключей.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, способы решения проблем и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API