Класс SslRMIServerSocketFactory
- Все реализуемые интерфейсы:
RMIServerSocketFactory
public class SslRMIServerSocketFactory extends Object implements RMIServerSocketFactory
Экземпляр SslRMIServerSocketFactory используется средой выполнения RMI для получения серверных сокетов для вызовов RMI через SSL.
Этот класс реализует RMIServerSocketFactory на основе протоколов Secure Sockets Layer (SSL) или Transport Layer Security (TLS).
Этот класс создает SSL-сокеты с использованием фабрики сокетов по умолчанию SSLSocketFactory (см. SSLSocketFactory.getDefault()) или фабрики серверных сокетов по умолчанию SSLServerSocketFactory (см. SSLServerSocketFactory.getDefault()), если не используется конструктор, принимающий SSLContext. В этом случае SSL-сокеты создаются с использованием SSLSocketFactory, возвращаемой методом SSLContext.getSocketFactory(), или SSLServerSocketFactory, возвращаемой методом SSLContext.getServerSocketFactory(). Если SSLContext не передан, все экземпляры этого класса используют одно и то же хранилище ключей и одно и то же хранилище доверенных сертификатов (если сервер требует аутентификацию клиента). Это поведение можно изменить, передав уже инициализированный экземпляр SSLContext.
- С версии:
- 1.5
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SslRMIServerSocketFactory() |
Создает новый SslRMIServerSocketFactory с конфигурацией SSL-сокетов по умолчанию. |
SslRMIServerSocketFactory |
Создает новый SslRMIServerSocketFactory с указанной конфигурацией SSL-сокетов. |
SslRMIServerSocketFactory |
Создает новый SslRMIServerSocketFactory с указанным SSLContext и конфигурацией SSL-сокетов. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
ServerSocket |
createServerSocket |
Создает серверный сокет, принимающий SSL-соединения, настроенные в соответствии с параметрами конфигурации SSL-сокетов этой фабрики. |
boolean |
equals |
Указывает, равен ли этот объект некоторому другому объекту. |
final String[] |
getEnabledCipherSuites() |
Возвращает названия наборов шифров, включенных для SSL-соединений, принимаемых серверными сокетами, созданными этой фабрикой, или null, если фабрика использует наборы шифров, включенные по умолчанию. |
final String[] |
getEnabledProtocols() |
Возвращает названия версий протокола, включенных для SSL-соединений, принимаемых серверными сокетами, созданными этой фабрикой, или null, если фабрика использует версии протокола, включенные по умолчанию. |
final boolean |
getNeedClientAuth() |
Возвращает true, если для SSL-соединений, принимаемых серверными сокетами, созданными этой фабрикой, требуется аутентификация клиента. |
int |
hashCode() |
Возвращает хеш-код этого SslRMIServerSocketFactory. |
Подробное описание конструкторов
SslRMIServerSocketFactory
public SslRMIServerSocketFactory()
Создает новый SslRMIServerSocketFactory с конфигурацией SSL-сокетов по умолчанию.
SSL-соединения, принимаемые серверными сокетами, созданными этой фабрикой, используют наборы шифров и версии протокола, включенные по умолчанию, и не требуют аутентификации клиента.
SslRMIServerSocketFactory
public SslRMIServerSocketFactory(String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth) throws IllegalArgumentException
Создает новый SslRMIServerSocketFactory с указанной конфигурацией SSL-сокетов.
- Параметры:
-
enabledCipherSuites— названия всех наборов шифров, которые следует включить для SSL-соединений, принимаемых серверными сокетами, созданными этой фабрикой, илиnull, чтобы использовать наборы шифров, включенные по умолчанию -
enabledProtocols— названия всех версий протокола, которые следует включить для SSL-соединений, принимаемых серверными сокетами, созданными этой фабрикой, илиnull, чтобы использовать версии протокола, включенные по умолчанию -
needClientAuth—true, чтобы требовать аутентификацию клиента для SSL-соединений, принимаемых серверными сокетами, созданными этой фабрикой;false, чтобы не требовать аутентификацию клиента - Исключения:
-
IllegalArgumentException— если один или несколько наборов шифров, указанных параметромenabledCipherSuites, не поддерживаются, если одна или несколько версий протокола, указанных параметромenabledProtocols, не поддерживаются или если при проверке поддержки переданных наборов шифров и версий протокола, которые требуется включить, возникает проблема. - См. также:
SslRMIServerSocketFactory
public SslRMIServerSocketFactory(SSLContext context, String[] enabledCipherSuites, String[] enabledProtocols, boolean needClientAuth) throws IllegalArgumentException
Создает новый SslRMIServerSocketFactory с указанным SSLContext и конфигурацией SSL-сокетов.
- Параметры:
-
context— контекст SSL, который будет использоваться для создания SSL-сокетов. Еслиcontextимеет значение null, для создания SSL-сокетов будет использоваться фабрика по умолчаниюSSLSocketFactoryили фабрика по умолчаниюSSLServerSocketFactory. В противном случае вместо них будет использоваться фабрика сокетов, возвращаемая методомSSLContext.getSocketFactory()илиSSLContext.getServerSocketFactory(). -
enabledCipherSuites— названия всех наборов шифров, которые следует включить для SSL-соединений, принимаемых серверными сокетами, созданными этой фабрикой, илиnull, чтобы использовать наборы шифров, включенные по умолчанию -
enabledProtocols— названия всех версий протокола, которые следует включить для SSL-соединений, принимаемых серверными сокетами, созданными этой фабрикой, илиnull, чтобы использовать версии протокола, включенные по умолчанию -
needClientAuth—true, чтобы требовать аутентификацию клиента для SSL-соединений, принимаемых серверными сокетами, созданными этой фабрикой;false, чтобы не требовать аутентификацию клиента - Исключения:
-
IllegalArgumentException— если один или несколько наборов шифров, указанных параметромenabledCipherSuites, не поддерживаются, если одна или несколько версий протокола, указанных параметромenabledProtocols, не поддерживаются или если при проверке поддержки переданных наборов шифров и версий протокола, которые требуется включить, возникает проблема. - С версии:
- 1.7
- См. также:
Подробное описание методов
getEnabledCipherSuites
public final String[] getEnabledCipherSuites()
Возвращает названия наборов шифров, включенных для SSL-соединений, принимаемых серверными сокетами, созданными этой фабрикой, или null, если фабрика использует наборы шифров, включенные по умолчанию.
- Возвращает:
- массив включенных наборов шифров или
null - См. также:
getEnabledProtocols
public final String[] getEnabledProtocols()
Возвращает названия версий протокола, включенных для SSL-соединений, принимаемых серверными сокетами, созданными этой фабрикой, или null, если фабрика использует версии протокола, включенные по умолчанию.
- Возвращает:
- массив включенных версий протокола или
null - См. также:
getNeedClientAuth
public final boolean getNeedClientAuth()
Возвращает true, если для SSL-соединений, принимаемых серверными сокетами, созданными этой фабрикой, требуется аутентификация клиента.
- Возвращает:
-
true, если требуется аутентификация клиента - См. также:
createServerSocket
public ServerSocket createServerSocket(int port) throws IOException
Создает серверный сокет, принимающий SSL-соединения, настроенные в соответствии с параметрами конфигурации SSL-сокетов этой фабрики.
- Определен в:
-
createServerSocketв интерфейсеRMIServerSocketFactory - Параметры:
-
port— номер порта - Возвращает:
- серверный сокет на указанном порту
- Исключения:
-
IOException— если при создании серверного сокета произошла ошибка ввода-вывода
equals
public boolean equals(Object obj)
Указывает, равен ли этот объект некоторому другому объекту.
Два объекта SslRMIServerSocketFactory равны, если они были созданы с одинаковыми параметрами контекста SSL и конфигурации SSL-сокетов.
Подкласс должен переопределить этот метод (а также hashCode()), если в нем добавлено состояние экземпляра, влияющее на проверку равенства.
hashCode
© 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.rmi/javax/rmi/ssl/SslRMIServerSocketFactory.html