Класс 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,
Provider provider) Возвращает объект |
static KeyManagerFactory |
getInstance(String algorithm,
String 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().
- Параметры:
-
algorithm- стандартное имя запрошенного алгоритма. См. Руководство по Java Secure Socket Extension для получения информации о стандартных именах алгоритмов. - Возвращает:
- новый объект
KeyManagerFactory. - Исключения:
-
NoSuchAlgorithmException- если ни один поставщик не поддерживает реализацию 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 Secure Socket Extension для получения информации о стандартных именах алгоритмов. -
provider- имя поставщика. - Возвращает:
- новый объект
KeyManagerFactory. - Исключения:
-
NoSuchAlgorithmException- если реализация KeyManagerFactorySpi для указанного алгоритма недоступна от указанного поставщика. -
NoSuchProviderException- если указанный поставщик не зарегистрирован в списке поставщиков безопасности. -
IllegalArgumentException- если имя поставщика null или пустое. -
NullPointerException- еслиalgorithmравно null. - См. также:
Provider
getInstance
public static final KeyManagerFactory getInstance(String algorithm,
Provider provider)
throws NoSuchAlgorithmException Возвращает объект KeyManagerFactory, который действует как фабрика для менеджеров ключей.
Возвращается новый объект KeyManagerFactory, инкапсулирующий реализацию KeyManagerFactorySpi от указанного объекта поставщика. Обратите внимание, что указанный объект поставщика не обязательно должен быть зарегистрирован в списке поставщиков.
- Параметры:
-
algorithm- стандартное имя запрошенного алгоритма. См. Руководство по Java Secure Socket Extension для получения информации о стандартных именах алгоритмов. -
provider- экземпляр поставщика. - Возвращает:
- новый объект
KeyManagerFactory. - Исключения:
-
NoSuchAlgorithmException- если реализация KeyManagerFactorySpi для указанного алгоритма недоступна от указанного объекта поставщика. -
IllegalArgumentException- если поставщик равен null. -
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- пароль для восстановления ключей в KeyStore - Исключения:
-
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.