Spec-Zone.ru › OpenJDK 8

Класс SSLContext

  • java.lang.Object
    • javax.net.ssl.SSLContext

public class SSLContext
extends Object

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

Каждая реализация Java платформы обязана поддерживать следующие стандартные SSLContext протоколы:

  • TLSv1
Этот протокол описан в разделе SSLContext документации Java Cryptography Architecture Standard Algorithm Name. Обратитесь к документации реализации для просмотра поддержки других алгоритмов.
Since:
1.4

Конструкторы

Модификатор Конструктор и описание
protected SSLContext(SSLContextSpi contextSpi, Provider provider, String protocol)

Создаёт объект SSLContext.

Методы

Модификатор и тип Метод и описание
SSLEngine createSSLEngine()

Создаёт новый SSLEngine с использованием данного контекста.

SSLEngine createSSLEngine(String peerHost, int peerPort)

Создаёт новый SSLEngine с использованием данного контекста с информацией о доверенном партнёре.

SSLSessionContext getClientSessionContext()

Возвращает контекст сеанса клиента, представляющий набор SSL сеансов, доступных для использования во время фазы рукопожатия сокетов SSL на стороне клиента.

static SSLContext getDefault()

Возвращает стандартный контекст SSL.

SSLParameters getDefaultSSLParameters()

Возвращает копию SSLParameters, указывающую стандартные настройки для данного контекста SSL.

static SSLContext getInstance(String protocol)

Возвращает объект SSLContext, реализующий указанный протокол защищённого сокета.

static SSLContext getInstance(String protocol, Provider provider)

Возвращает объект SSLContext, реализующий указанный протокол защищённого сокета.

static SSLContext getInstance(String protocol, String provider)

Возвращает объект SSLContext, реализующий указанный протокол защищённого сокета.

String getProtocol()

Возвращает имя протокола данного объекта SSLContext.

Provider getProvider()

Возвращает поставщика данного объекта SSLContext.

SSLSessionContext getServerSessionContext()

Возвращает контекст сеанса сервера, представляющий набор SSL сеансов, доступных для использования во время фазы рукопожатия сокетов SSL на стороне сервера.

SSLServerSocketFactory getServerSocketFactory()

Возвращает объект ServerSocketFactory для данного контекста.

SSLSocketFactory getSocketFactory()

Возвращает объект SocketFactory для данного контекста.

SSLParameters getSupportedSSLParameters()

Возвращает копию SSLParameters, указывающую поддерживаемые настройки для данного контекста SSL.

void init(KeyManager[] km, TrustManager[] tm, SecureRandom random)

Инициализирует данный контекст.

static void setDefault(SSLContext context)

Устанавливает стандартный контекст SSL.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

SSLContext

protected SSLContext(SSLContextSpi contextSpi,
                     Provider provider,
                     String protocol)

Создаёт объект SSLContext.

Параметры:
contextSpi - делегат
provider - поставщик
protocol - протокол

Методы

getDefault

public static SSLContext getDefault()
                             throws NoSuchAlgorithmException

Возвращает стандартный SSL-контекст.

Если стандартный контекст был установлен с помощью метода SSLContext.setDefault(), он возвращается. В противном случае, первый вызов этого метода запускает вызов SSLContext.getInstance("Default"). Если это успешно, этот объект становится стандартным SSL-контекстом и возвращается.

Стандартный контекст сразу готов к использованию и не требует инициализации.

Возвращает:
стандартный SSL-контекст
Исключение:
NoSuchAlgorithmException - если вызов SSLContext.getInstance() завершается ошибкой
С:
1.6

setDefault

public static void setDefault(SSLContext context)

Устанавливает стандартный SSL-контекст. Он будет возвращаться последующими вызовами getDefault(). Стандартный контекст должен быть сразу готов к использованию и не требовать инициализации.

Параметры:
context - SSLContext
Исключение:
NullPointerException - если контекст равен null
SecurityException - если менеджер безопасности существует и его метод checkPermission не разрешает SSLPermission("setDefaultSSLContext")
С:
1.6

getInstance

public static SSLContext getInstance(String protocol)
                              throws NoSuchAlgorithmException

Возвращает объект SSLContext, реализующий указанный протокол защищённого сокета.

Этот метод проходит по списку зарегистрированных поставщиков безопасности, начиная с наиболее предпочтительного. Возвращается новый объект SSLContext, инкапсулирующий реализацию SSLContextSpi из первого поставщика, поддерживающего указанный протокол.

Обратите внимание, что список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().

Параметры:
protocol - стандартное имя запрошенного протокола. См. раздел SSLContext в Java Cryptography Architecture Standard Algorithm Name Documentation для получения информации о стандартных именах протоколов.
Возвращает:
новый объект SSLContext.
Исключение:
NoSuchAlgorithmException - если ни один поставщик не поддерживает реализацию SSLContextSpi для указанного протокола.
NullPointerException - если протокол равен null.
См. также:
Provider

getInstance

public static SSLContext getInstance(String protocol,
                                     String provider)
                              throws NoSuchAlgorithmException,
                                     NoSuchProviderException

Возвращает объект SSLContext, реализующий указанный протокол защищённого сокета.

Возвращается новый объект SSLContext, инкапсулирующий реализацию SSLContextSpi от указанного поставщика. Указанный поставщик должен быть зарегистрирован в списке поставщиков безопасности.

Обратите внимание, что список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().

Параметры:
protocol - стандартное имя запрошенного протокола. См. раздел SSLContext в Java Cryptography Architecture Standard Algorithm Name Documentation для получения информации о стандартных именах протоколов.
provider - имя поставщика.
Возвращает:
новый объект SSLContext.
Исключение:
NoSuchAlgorithmException - если реализация SSLContextSpi для указанного протокола недоступна от указанного поставщика.
NoSuchProviderException - если указанный поставщик не зарегистрирован в списке поставщиков безопасности.
IllegalArgumentException - если имя поставщика равно null или пустое.
NullPointerException - если протокол равен null.
См. также:
Provider

getInstance

public static SSLContext getInstance(String protocol,
                                     Provider provider)
                              throws NoSuchAlgorithmException

Возвращает объект SSLContext, реализующий указанный протокол защищённого сокета.

Возвращается новый объект SSLContext, инкапсулирующий реализацию SSLContextSpi от указанного объекта поставщика. Указанный объект поставщика не обязательно должен быть зарегистрирован в списке поставщиков.

Параметры:
protocol - стандартное имя запрошенного протокола. См. раздел SSLContext в Java Cryptography Architecture Standard Algorithm Name Documentation для получения информации о стандартных именах протоколов.
provider - экземпляр поставщика.
Возвращает:
новый объект SSLContext.
Исключение:
NoSuchAlgorithmException - если реализация SSLContextSpi для указанного протокола недоступна от указанного объекта поставщика.
IllegalArgumentException - если поставщик равен null.
NullPointerException - если протокол равен null.
См. также:
Provider

getProtocol

public final String getProtocol()

Возвращает имя протокола этого объекта SSLContext.

Это то же имя, что и указанное в одном из вызовов getInstance, которые создали этот объект SSLContext.

Возвращает:
имя протокола этого объекта SSLContext.

getProvider

public final Provider getProvider()

Возвращает поставщика этого объекта SSLContext.

Возвращает:
поставщика этого объекта SSLContext

init

public final void init(KeyManager[] km,
                       TrustManager[] tm,
                       SecureRandom random)
                throws KeyManagementException

Инициализирует этот контекст. Любой из первых двух параметров может быть null, в этом случае установленные поставщики безопасности будут искать реализацию фабрики соответствующего типа с наивысшим приоритетом. Аналогично, параметр secure random может быть null, в этом случае будет использоваться стандартная реализация.

Используется только первый экземпляр определённого типа менеджера ключей и/или доверенных менеджеров в массиве. (Например, будет использован только первый javax.net.ssl.X509KeyManager в массиве.)

Параметры:
km - источники ключей аутентификации или null
tm - источники решений по доверенности peer аутентификации или null
random - источник случайности для этого генератора или null
Исключение:
KeyManagementException - если эта операция завершается ошибкой

getSocketFactory

public final SSLSocketFactory getSocketFactory()

Возвращает объект SocketFactory для этого контекста.

Возвращает:
объект SocketFactory
Исключение:
IllegalStateException - если SSLContextImpl требует инициализации, и метод init() не был вызван

getServerSocketFactory

public final SSLServerSocketFactory getServerSocketFactory()

Возвращает объект ServerSocketFactory для этого контекста.

Возвращает:
объект ServerSocketFactory
Исключение:
IllegalStateException - если SSLContextImpl требует инициализации, и метод init() не был вызван

createSSLEngine

public final SSLEngine createSSLEngine()

Создаёт новый SSLEngine с помощью этого контекста.

Приложения, использующие этот метод, не предоставляют подсказок для внутренней стратегии повторного использования сессий. Если подсказки необходимы, следует использовать createSSLEngine(String, int).

Некоторые наборы шифров (такие как Kerberos) требуют информации о удалённом имени хоста, в этом случае этот метод не следует использовать.

Возвращает:
объект SSLEngine
Исключение:
UnsupportedOperationException - если базовый поставщик не реализует операцию.
IllegalStateException - если SSLContextImpl требует инициализации, и метод init() не был вызван
С:
1.5

createSSLEngine

public final SSLEngine createSSLEngine(String peerHost,
                                       int peerPort)

Создаёт новый SSLEngine с помощью этого контекста, используя консультативную информацию о узле.

Приложения, использующие этот метод, предоставляют подсказки для внутренней стратегии повторного использования сессий.

Некоторые наборы шифров (такие как Kerberos) требуют информации о удалённом имени хоста, в этом случае peerHost должен быть указан.

Параметры:
peerHost - неофициальное имя хоста
peerPort - неофициальный порт
Возвращает:
новый объект SSLEngine
Исключение:
UnsupportedOperationException - если базовый поставщик не реализует операцию.
IllegalStateException - если SSLContextImpl требует инициализации, и метод init() не был вызван
С:
1.5

getServerSessionContext

public final SSLSessionContext getServerSessionContext()

Возвращает контекст серверной сессии, который представляет набор SSL-сессий, доступных для использования во время фазы рукопожатия SSL-сокеты серверной стороны.

Этот контекст может быть недоступен в некоторых средах, в этом случае этот метод возвращает null. Например, когда базовый SSL-поставщик не предоставляет реализацию интерфейса SSLSessionContext, этот метод возвращает null. В противном случае возвращается ненулевой контекст сессии.

Возвращает:
контекст серверной сессии, связанный с этим SSL-контекстом

getClientSessionContext

public final SSLSessionContext getClientSessionContext()

Возвращает контекст клиентской сессии, который представляет набор SSL-сессий, доступных для использования во время фазы рукопожатия SSL-сокеты клиентской стороны.

Этот контекст может быть недоступен в некоторых средах, в этом случае этот метод возвращает null. Например, когда базовый SSL-поставщик не предоставляет реализацию интерфейса SSLSessionContext, этот метод возвращает null. В противном случае возвращается ненулевой контекст сессии.

Возвращает:
контекст клиентской сессии, связанный с этим SSL-контекстом

getDefaultSSLParameters

public final SSLParameters getDefaultSSLParameters()

Возвращает копию SSLParameters, указывающую стандартные настройки для этого SSL-контекста.

Параметры всегда будут иметь массивы ciphersuites и protocols, установленные в ненулевые значения.

Возвращает:
копию объекта SSLParameters с параметрами по умолчанию
Выбрасывает:
UnsupportedOperationException - если параметры SSL по умолчанию получить не удалось.
С тех пор:
1.6

getSupportedSSLParameters

public final SSLParameters getSupportedSSLParameters()

Возвращает копию SSLParameters, указывающую поддерживаемые настройки для этого SSL-контекста.

Параметры всегда будут иметь массивы ciphersuites и protocols, установленные в значения отличные от null.

Возвращает:
копию объекта SSLParameters с поддерживаемыми настройками
Выбрасывает:
UnsupportedOperationException - если поддерживаемые параметры SSL получить не удалось.
С тех пор:
1.6

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

Spec-Zone.ru

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