Spec-Zone.ru › OpenJDK 25

Класс SSLContextSpi

java.lang.Object
javax.net.ssl.SSLContextSpi
public abstract class SSLContextSpi extends Object
Этот класс определяет интерфейс поставщика служб (SPI) для класса SSLContext.

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

Начиная с:
1.4
См. также:
  • SSLContext

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

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

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

Модификатор и тип Метод Описание
protected abstract SSLEngine engineCreateSSLEngine()
Создаёт новый SSLEngine с использованием этого контекста.
protected abstract SSLEngine engineCreateSSLEngine(String host, int port)
Создаёт SSLEngine с использованием этого контекста.
protected abstract SSLSessionContext engineGetClientSessionContext()
Возвращает объект клиентского SSLSessionContext для этого контекста.
protected SSLParameters engineGetDefaultSSLParameters()
Возвращает копию SSLParameters, указывающую настройки по умолчанию для этого SSL-контекста.
protected abstract SSLSessionContext engineGetServerSessionContext()
Возвращает объект серверного SSLSessionContext для этого контекста.
protected abstract SSLServerSocketFactory engineGetServerSocketFactory()
Возвращает объект ServerSocketFactory для этого контекста.
protected abstract SSLSocketFactory engineGetSocketFactory()
Возвращает объект SocketFactory для этого контекста.
protected SSLParameters engineGetSupportedSSLParameters()
Возвращает копию SSLParameters, указывающую максимально поддерживаемые настройки для этого SSL-контекста.
protected abstract void engineInit(KeyManager[] km, TrustManager[] tm, SecureRandom sr)
Инициализирует этот контекст.

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

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

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

SSLContextSpi

public SSLContextSpi()
Конструктор, предназначенный для вызова подклассами.

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

engineInit

protected abstract void engineInit(KeyManager[] km, TrustManager[] tm, SecureRandom sr) throws KeyManagementException
Инициализирует этот контекст.
Параметры:
km — источники ключей аутентификации
tm — источники решений о доверии при аутентификации узла
sr — источник случайных данных
Выбрасывает:
KeyManagementException — если эта операция завершается ошибкой
См. также:
  • SSLContext.init(KeyManager[], TrustManager[], SecureRandom)

engineGetSocketFactory

protected abstract SSLSocketFactory engineGetSocketFactory()
Возвращает объект SocketFactory для этого контекста.
Возвращает:
объект SocketFactory
Выбрасывает:
UnsupportedOperationException — если базовый поставщик не реализует эту операцию.
IllegalStateException — если SSLContextImpl требует инициализации, а вызов engineInit() не был выполнен
См. также:
  • SSLContext.getSocketFactory()

engineGetServerSocketFactory

protected abstract SSLServerSocketFactory engineGetServerSocketFactory()
Возвращает объект ServerSocketFactory для этого контекста.
Возвращает:
объект ServerSocketFactory
Выбрасывает:
UnsupportedOperationException — если базовый поставщик не реализует эту операцию.
IllegalStateException — если SSLContextImpl требует инициализации, а вызов engineInit() не был выполнен
См. также:
  • SSLContext.getServerSocketFactory()

engineCreateSSLEngine

protected abstract SSLEngine engineCreateSSLEngine()
Создаёт новый SSLEngine с использованием этого контекста.

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

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

Примечание по реализации:
Режим по умолчанию (клиентский или серверный) возвращаемого SSLEngine для соединения (D)TLS зависит от поставщика. Реализация поставщика JDK SunJSSE по умолчанию использует серверный режим. Тем не менее рекомендуется всегда явно задавать требуемый режим, вызывая SSLEngine.setUseClientMode() до вызова других методов SSLEngine.
Возвращает:
объект SSLEngine
Выбрасывает:
IllegalStateException — если SSLContextImpl требует инициализации, а вызов engineInit() не был выполнен
Начиная с:
1.5
См. также:
  • SSLContext.createSSLEngine()

engineCreateSSLEngine

protected abstract SSLEngine engineCreateSSLEngine(String host, int port)
Создаёт SSLEngine с использованием этого контекста.

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

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

Примечание по реализации:
Режим по умолчанию (клиентский или серверный) возвращаемого SSLEngine для соединения (D)TLS зависит от поставщика. Реализация поставщика JDK SunJSSE по умолчанию использует серверный режим. Тем не менее рекомендуется всегда явно задавать требуемый режим, вызывая SSLEngine.setUseClientMode() до вызова других методов SSLEngine.
Параметры:
host — неавторитетное имя хоста
port — неавторитетный порт
Возвращает:
объект SSLEngine
Выбрасывает:
IllegalStateException — если SSLContextImpl требует инициализации, а вызов engineInit() не был выполнен
Начиная с:
1.5
См. также:
  • SSLContext.createSSLEngine(String, int)

engineGetServerSessionContext

protected abstract SSLSessionContext engineGetServerSessionContext()
Возвращает объект серверного SSLSessionContext для этого контекста.
Возвращает:
объект SSLSessionContext
См. также:
  • SSLContext.getServerSessionContext()

engineGetClientSessionContext

protected abstract SSLSessionContext engineGetClientSessionContext()
Возвращает объект клиентского SSLSessionContext для этого контекста.
Возвращает:
объект SSLSessionContext
См. также:
  • SSLContext.getClientSessionContext()

engineGetDefaultSSLParameters

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

Массивы наборов шифров и протоколов в параметрах всегда будут иметь ненулевые значения.

Реализация по умолчанию получает параметры из SSLSocket, созданного вызовом метода SocketFactory.createSocket() фабрики SocketFactory этого контекста.

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

engineGetSupportedSSLParameters

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

Массивы наборов шифров и протоколов в параметрах всегда будут иметь ненулевые значения.

Реализация по умолчанию получает параметры из SSLSocket, созданного вызовом метода SocketFactory.createSocket() фабрики SocketFactory этого контекста.

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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/javax/net/ssl/SSLContextSpi.html

Spec-Zone.ru

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