Spec-Zone.ru › OpenJDK 25

Класс 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

Подробное описание конструкторов

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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/security/KeyFactorySpi.html

Spec-Zone.ru

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