Класс KeyManagerFactory
- java.lang.Object
- javax.net.ssl.KeyManagerFactory
public class KeyManagerFactory extends Object
Этот класс служит фабрикой для менеджеров ключей на основе источника ключевого материала. Каждый менеджер ключей управляет определённым типом ключевого материала для использования защищёнными сокетами. Ключевой материал основан на KeyStore и/или поставщике.
- Since:
- 1.4
- См. также:
KeyManager
Конструкторы
| Модификатор | Конструктор | Описание |
|---|---|---|
protected | KeyManagerFactory(KeyManagerFactorySpi factorySpi,
Provider provider,
String algorithm) | Создаёт объект KeyManagerFactory. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
String | getAlgorithm() | Возвращает имя алгоритма этого объекта |
static String | getDefaultAlgorithm() | Получает имя алгоритма по умолчанию KeyManagerFactory. |
static KeyManagerFactory | getInstance(String algorithm) | Возвращает объект |
static KeyManagerFactory | getInstance(String algorithm,
String provider) | Возвращает объект |
static KeyManagerFactory | getInstance(String algorithm,
Provider provider) | Возвращает объект |
KeyManager[] | getKeyManagers() | Возвращает один менеджер ключей для каждого типа ключевого материала. |
Provider | getProvider() | Возвращает поставщика этого объекта |
void | init(KeyStore ks,
char[] password) | Инициализирует эту фабрику с источником ключевого материала. |
void | init(ManagerFactoryParameters spec) | Инициализирует эту фабрику с источником ключевого материала, специфичного для поставщика. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitКонструкторы
KeyManagerFactory
protected KeyManagerFactory(KeyManagerFactorySpi factorySpi,
Provider provider,
String algorithm)Создаёт объект KeyManagerFactory.
- Параметры:
-
factorySpi- делегат -
provider- поставщик -
algorithm- алгоритм
Методы
getDefaultAlgorithm
public static final String getDefaultAlgorithm()
Получает имя алгоритма по умолчанию KeyManagerFactory.
Алгоритм по умолчанию может быть изменён во время выполнения, установив значение свойства безопасности ssl.KeyManagerFactory.algorithm до желаемого имени алгоритма.
- Возвращает:
- имя алгоритма по умолчанию, указанное свойством безопасности
ssl.KeyManagerFactory.algorithm, или реализационно-специфичный по умолчанию, если такое свойство не существует. - См. также:
security properties
getAlgorithm
public final String getAlgorithm()
Возвращает имя алгоритма этого объекта KeyManagerFactory.
Это то же имя, которое было указано в одном из вызовов getInstance, создавших этот объект KeyManagerFactory.
- Возвращает:
- имя алгоритма этого объекта
KeyManagerFactory.
getInstance
public static final KeyManagerFactory getInstance(String algorithm)
throws NoSuchAlgorithmExceptionВозвращает объект KeyManagerFactory, который служит фабрикой для менеджеров ключей.
Этот метод обходит список зарегистрированных поставщиков безопасности, начиная с наиболее предпочтительного поставщика. Возвращается новый объект KeyManagerFactory, инкапсулирующий реализацию KeyManagerFactorySpi от первого поставщика, который поддерживает указанный алгоритм.
Обратите внимание, что список зарегистрированных поставщиков можно получить через метод Security.getProviders().
- Замечание по реализации:
- Реализация JDK Reference дополнительно использует свойство
jdk.security.provider.preferredSecurityдля определения предпочтительного порядка поставщиков для указанного алгоритма. Это может отличаться от порядка поставщиков, возвращаемыхSecurity.getProviders(). - Параметры:
-
algorithm- стандартное имя запрошенного алгоритма. Смотрите документ Java Security Standard Algorithm Names для информации о стандартных именах алгоритмов. - Возвращает:
- новый объект
KeyManagerFactory - Исключения:
-
NoSuchAlgorithmException- если ни одинProviderне поддерживает реализациюKeyManagerFactorySpiдля указанного алгоритма -
NullPointerException- еслиalgorithmявляетсяnull - См. также:
Provider
getInstance
public static final KeyManagerFactory getInstance(String algorithm,
String provider)
throws NoSuchAlgorithmException,
NoSuchProviderExceptionВозвращает объект KeyManagerFactory, который служит фабрикой для менеджеров ключей.
Возвращается новый объект KeyManagerFactory, инкапсулирующий реализацию KeyManagerFactorySpi от указанного поставщика. Указанный поставщик должен быть зарегистрирован в списке поставщиков безопасности.
Обратите внимание, что список зарегистрированных поставщиков можно получить через метод Security.getProviders().
- Параметры:
-
algorithm- стандартное имя запрошенного алгоритма. Смотрите документ Java Security Standard Algorithm Names для информации о стандартных именах алгоритмов. -
provider- имя поставщика. - Возвращает:
- новый объект
KeyManagerFactory - Исключения:
-
IllegalArgumentException- если имя поставщика являетсяnullили пустым -
NoSuchAlgorithmException- если реализацияKeyManagerFactorySpiдля указанного алгоритма недоступна от указанного поставщика -
NoSuchProviderException- если указанный поставщик не зарегистрирован в списке поставщиков безопасности -
NullPointerException- еслиalgorithmявляетсяnull - См. также:
Provider
getInstance
public static final KeyManagerFactory getInstance(String algorithm,
Provider provider)
throws NoSuchAlgorithmExceptionВозвращает объект KeyManagerFactory, который служит фабрикой для менеджеров ключей.
Возвращается новый объект KeyManagerFactory, инкапсулирующий реализацию KeyManagerFactorySpi от указанного объекта поставщика. Обратите внимание, что указанный объект поставщика не обязан быть зарегистрированным в списке поставщиков.
- Параметры:
-
algorithm- стандартное имя запрошенного алгоритма. Смотрите документ Java Security Standard Algorithm Names для информации о стандартных именах алгоритмов. -
provider- экземпляр поставщика. - Возвращает:
- новый объект
KeyManagerFactory - Исключения:
-
IllegalArgumentException- если поставщик являетсяnull -
NoSuchAlgorithmException- если реализация@KeyManagerFactorySpiдля указанного алгоритма недоступна от указанного объекта поставщика -
NullPointerException- еслиalgorithmявляетсяnull - См. также:
Provider
getProvider
public final Provider getProvider()
Возвращает поставщика этого объекта KeyManagerFactory.
- Возвращает:
- поставщик этого объекта
KeyManagerFactory
init
public final void init(KeyStore ks,
char[] password)
throws KeyStoreException,
NoSuchAlgorithmException,
UnrecoverableKeyExceptionИнициализирует эту фабрику с источником ключевого материала.
Поставщик обычно использует KeyStore для получения ключевого материала, используемого во время переговоров защищённых сокетов. KeyStore обычно защищён паролем.
Для более гибкой инициализации, пожалуйста, см. init(ManagerFactoryParameters).
- Параметры:
-
ks- хранилище ключей или null -
password- пароль для восстановления ключей в хранилище ключей - Исключения:
-
KeyStoreException- если операция завершается ошибкой -
NoSuchAlgorithmException- если указанный алгоритм недоступен от указанного поставщика. -
UnrecoverableKeyException- если ключ не может быть восстановлен (например, указанный пароль неверный).
init
public final void init(ManagerFactoryParameters spec)
throws InvalidAlgorithmParameterExceptionИнициализирует эту фабрику с источником ключевого материала, специфичного для поставщика.
В некоторых случаях поставщику могут понадобиться параметры инициализации, отличные от хранилища ключей и пароля. Пользователи этого конкретного поставщика должны передать реализацию соответствующего ManagerFactoryParameters, как определено поставщиком. Поставщик может вызвать указанные методы в реализации ManagerFactoryParameters для получения необходимой информации.
- Параметры:
-
spec- реализация спецификации параметров, специфичных для поставщика - Исключения:
-
InvalidAlgorithmParameterException- если возникла ошибка
getKeyManagers
public final KeyManager[] getKeyManagers()
Возвращает один менеджер ключей для каждого типа ключевого материала.
- Возвращает:
- менеджеры ключей
- Исключения:
-
IllegalStateException- если KeyManagerFactory не инициализирован
© 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/javax/net/ssl/KeyManagerFactory.html