Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class SSLServerSocket extends ServerSocket
ServerSocket
s и обеспечивает сокеты защищенного сервера, используя протоколы, такие как Уровень защищенных сокетов (SSL) или Безопасность Транспортного уровня (TLS) протоколы. Экземпляры этого class обычно создаются, используя a SSLServerSocketFactory
. Первичная функция SSLServerSocket
s должен создать SSLSocket
s accept
соединения луга.
SSLServerSocket
s содержат несколько частей данных состояния, которые наследованы SSLSocket
при создании сокета. Они включают включенные комплекты шифра и протоколы, необходима ли аутентификация клиента, и должны ли создаваемые сокеты начать квитирование в режиме сервера или клиенте. Состояние наследовалось создаваемым SSLSocket
может быть overriden, вызывая соответствующие методы.
ServerSocket
, SSLSocket
Модификатор | Конструктор и Описание |
---|---|
protected |
SSLServerSocket()
Используемый только подклассами.
|
protected |
SSLServerSocket(int port)
Используемый только подклассами.
|
protected |
SSLServerSocket(int port, int backlog)
Используемый только подклассами.
|
protected |
SSLServerSocket(int port, int backlog, InetAddress address)
Используемый только подклассами.
|
Модификатор и Тип | Метод и Описание |
---|---|
abstract String[] |
getEnabledCipherSuites()
Возвращает список комплектов шифра, которые в настоящий момент включаются для использования недавно принятыми соединениями.
|
abstract String[] |
getEnabledProtocols()
Возвращает имена протоколов, которые в настоящий момент включаются для использования недавно принятыми соединениями.
|
abstract boolean |
getEnableSessionCreation()
Возвращает true, если новые сеансы SSL могут быть установлены сокетами, которые создаются из этого сокета сервера.
|
abstract boolean |
getNeedClientAuth()
Возвращает true, если аутентификация клиента будет требоваться на недавно
accept режим сервера редактора SSLSocket s. |
SSLParameters |
getSSLParameters()
Возвращает SSLParameters в действительности для недавно принятых соединений.
|
abstract String[] |
getSupportedCipherSuites()
Возвращает имена комплектов шифра, которые могли быть включены для использования на соединении SSL.
|
abstract String[] |
getSupportedProtocols()
Возвращает имена протоколов, которые могли быть включены для использования.
|
abstract boolean |
getUseClientMode()
Возвращает true, если принятые соединения будут в клиентском режиме SSL.
|
abstract boolean |
getWantClientAuth()
Возвращает true, если аутентификацию клиента будут требовать на недавно принятых соединениях режима сервера.
|
abstract void |
setEnabledCipherSuites(String[] suites)
Устанавливает комплекты шифра, включенные для использования принятыми соединениями.
|
abstract void |
setEnabledProtocols(String[] protocols)
Средства управления, какие определенные протоколы включаются для использования принятыми соединениями.
|
abstract void |
setEnableSessionCreation(boolean flag)
Средства управления, могут ли новые сеансы SSL быть установлены сокетами, которые создаются из этого сокета сервера.
|
abstract void |
setNeedClientAuth(boolean need)
Средства управления, ли
accept режим сервера редактора SSLSockets будет первоначально сконфигурирован, чтобы потребовать аутентификации клиента. |
void |
setSSLParameters(SSLParameters params)
Применяет SSLParameters к недавно принятым соединениям.
|
abstract void |
setUseClientMode(boolean mode)
Средства управления, являются ли принятые соединения в (значение по умолчанию) режим сервера SSL, или клиентский режим SSL.
|
abstract void |
setWantClientAuth(boolean want)
Средства управления, ли
accept режим сервера редактора SSLSockets будет первоначально сконфигурирован, чтобы запросить аутентификацию клиента. |
accept, bind, bind, close, getChannel, getInetAddress, getLocalPort, getLocalSocketAddress, getReceiveBufferSize, getReuseAddress, getSoTimeout, implAccept, isBound, isClosed, setPerformancePreferences, setReceiveBufferSize, setReuseAddress, setSocketFactory, setSoTimeout, toString
protected SSLServerSocket() throws IOException
Создайте несвязанный сокет сервера TCP, используя контекст аутентификации значения по умолчанию.
IOException
- если ошибка ввода-вывода происходит, создавая сокетprotected SSLServerSocket(int port) throws IOException
Создайте сокет сервера TCP на порту, используя контекст аутентификации значения по умолчанию. Неудовлетворенные значения по умолчанию соединения к пятидесяти соединениям стояли в очереди прежде, чем система начинает отклонять новые запросы соединения.
Номер порта 0
создает сокет на любом франко-порт.
Если есть менеджер безопасности, checkListen
метод вызывают с port
параметр как его параметр, чтобы гарантировать работу позволяется. Это могло привести к SecurityException.
port
- порт, на котором можно слушатьIOException
- если ошибка ввода-вывода происходит, создавая сокетSecurityException
- если менеджер безопасности существует и checkListen
метод не позволяет работу.IllegalArgumentException
- если параметр порта вне указанного диапазона допустимых значений порта, который является между 0 и 65535, включительно.SecurityManager.checkListen(int)
protected SSLServerSocket(int port, int backlog) throws IOException
Создайте сокет сервера TCP на порту, используя контекст аутентификации значения по умолчанию и указанное отставание соединений.
Номер порта 0
создает сокет на любом франко-порт.
backlog
параметром является требуемое максимальное количество соединений на ожидании на сокете. Его точная семантика является определенной реализацией. В частности реализация может наложить максимальную длину или может хотеть игнорировать параметр altogther. Обеспеченное значение должно быть больше чем 0
. Если это меньше чем или равно 0
, тогда реализация определенное значение по умолчанию будет использоваться.
Если есть менеджер безопасности, checkListen
метод вызывают с port
параметр как его параметр, чтобы гарантировать работу позволяется. Это могло привести к SecurityException.
port
- порт, на котором можно слушатьbacklog
- требуемая максимальная длина очереди входящих соединений.IOException
- если ошибка ввода-вывода происходит, создавая сокетSecurityException
- если менеджер безопасности существует и checkListen
метод не позволяет работу.IllegalArgumentException
- если параметр порта вне указанного диапазона допустимых значений порта, который является между 0 и 65535, включительно.SecurityManager.checkListen(int)
protected SSLServerSocket(int port, int backlog, InetAddress address) throws IOException
Создайте сокет сервера TCP на порту, используя контекст аутентификации значения по умолчанию и указанное отставание соединений так же как определенный указанный сетевой интерфейс. Этот конструктор используется на многосетевых узлах, таких как используемые для брандмауэров или как маршрутизаторы, чтобы управлять, через который интерфейс предоставляют сетевой службе.
Если есть менеджер безопасности, checkListen
метод вызывают с port
параметр как его параметр, чтобы гарантировать работу позволяется. Это могло привести к SecurityException.
Номер порта 0
создает сокет на любом франко-порт.
backlog
параметром является требуемое максимальное количество соединений на ожидании на сокете. Его точная семантика является определенной реализацией. В частности реализация может наложить максимальную длину или может хотеть игнорировать параметр altogther. Обеспеченное значение должно быть больше чем 0
. Если это меньше чем или равно 0
, тогда реализация определенное значение по умолчанию будет использоваться.
Если адрес будет нулем, то он примет значение по умолчанию, принимая соединения на любых/всех локальных адресах.
port
- порт, на котором можно слушатьbacklog
- требуемая максимальная длина очереди входящих соединений.address
- адрес сетевого интерфейса, через который будут приняты соединенияIOException
- если ошибка ввода-вывода происходит, создавая сокетSecurityException
- если менеджер безопасности существует и checkListen
метод не позволяет работу.IllegalArgumentException
- если параметр порта вне указанного диапазона допустимых значений порта, который является между 0 и 65535, включительно.SecurityManager.checkListen(int)
public abstract String[] getEnabledCipherSuites()
Если этот список не был явно изменен, обеспеченное системой значение по умолчанию гарантирует минимальное качество службы во всех включенных комплектах шифра.
Есть несколько причин, почему включенный комплект шифра не мог бы фактически использоваться. Например: сокет сервера не мог бы иметь соответствующие закрытые ключи в наличии для этого, или комплект шифра мог бы быть анонимным, устраняя использование аутентификации клиента, в то время как сокету сервера сказали потребовать такой аутентификации.
getSupportedCipherSuites()
, setEnabledCipherSuites(String [])
public abstract void setEnabledCipherSuites(String[] suites)
Комплекты шифра, должно быть, были перечислены getSupportedCipherSuites () как поддерживаемый. После успешного вызова к этому методу, только комплекты, перечисленные в suites
параметр включается для использования.
Комплекты, которые запрашивают информацию аутентификации, которая не доступна в контексте аутентификации этого ServerSocket, не будут использоваться в любом случае, даже если им включат.
SSLSocket
s возвратился из accept()
наследуйте эту установку.
suites
- Имена всех комплектов шифра, чтобы включитьIllegalArgumentException
- когда один или больше шифров, названных параметром, не поддерживается, или когда параметр является нулем.getSupportedCipherSuites()
, getEnabledCipherSuites()
public abstract String[] getSupportedCipherSuites()
Обычно, только подмножество их будет фактически включено по умолчанию, так как этот список может включать комплекты шифра, которые не встречают качество требований службы для тех значений по умолчанию. Такие комплекты шифра полезны в специализированных приложениях.
getEnabledCipherSuites()
, setEnabledCipherSuites(String [])
public abstract String[] getSupportedProtocols()
getEnabledProtocols()
, setEnabledProtocols(String [])
public abstract String[] getEnabledProtocols()
getSupportedProtocols()
, setEnabledProtocols(String [])
public abstract void setEnabledProtocols(String[] protocols)
Протоколы, должно быть, были перечислены getSupportedProtocols () как поддерживаемый. После успешного вызова к этому методу, только протоколы, перечисленные в protocols
параметр включается для использования.
SSLSocket
s возвратился из accept()
наследуйте эту установку.
protocols
- Имена всех протоколов, чтобы включить.IllegalArgumentException
- когда один или больше протоколов, названных параметром, не поддерживается или когда параметр протоколов является нулем.getEnabledProtocols()
, getSupportedProtocols()
public abstract void setNeedClientAuth(boolean need)
accept
режим сервера редактора SSLSockets
будет первоначально сконфигурирован, чтобы потребовать аутентификации клиента. Установка аутентификации клиента сокета является одним из следующего:
В отличие от этого setWantClientAuth(boolean)
, если опция принятого сокета будет установлена, и клиент хочет не предоставлять информацию об аутентификации о себе, то согласования остановятся, и соединение будет отброшено.
Вызов этого метода переопределяет любую предыдущую установку, сделанную этим методом или setWantClientAuth(boolean)
.
Начальная буква наследовалась, установка может быть переопределена, вызывая SSLSocket.setNeedClientAuth(boolean)
или SSLSocket.setWantClientAuth(boolean)
.
need
- набор к истине, если аутентификация клиента требуется, или ложь, если никакая аутентификация клиента не требуется.getNeedClientAuth()
, setWantClientAuth(boolean)
, getWantClientAuth()
, setUseClientMode(boolean)
public abstract boolean getNeedClientAuth()
accept
режим сервера редактора SSLSocket
s. Начальная буква наследовалась, установка может быть переопределена, вызывая SSLSocket.setNeedClientAuth(boolean)
или SSLSocket.setWantClientAuth(boolean)
.
setNeedClientAuth(boolean)
, setWantClientAuth(boolean)
, getWantClientAuth()
, setUseClientMode(boolean)
public abstract void setWantClientAuth(boolean want)
accept
режим сервера редактора SSLSockets
будет первоначально сконфигурирован, чтобы запросить аутентификацию клиента. Установка аутентификации клиента сокета является одним из следующего:
В отличие от этого setNeedClientAuth(boolean)
, если опция принятого сокета будет установлена, и клиент хочет не предоставлять информацию об аутентификации о себе, то согласования будут продолжаться.
Вызов этого метода переопределяет любую предыдущую установку, сделанную этим методом или setNeedClientAuth(boolean)
.
Начальная буква наследовалась, установка может быть переопределена, вызывая SSLSocket.setNeedClientAuth(boolean)
или SSLSocket.setWantClientAuth(boolean)
.
want
- набор к истине, если аутентификацию клиента требуют, или ложь, если никакая аутентификация клиента не требуется.getWantClientAuth()
, setNeedClientAuth(boolean)
, getNeedClientAuth()
, setUseClientMode(boolean)
public abstract boolean getWantClientAuth()
Начальная буква наследовалась, установка может быть переопределена, вызывая SSLSocket.setNeedClientAuth(boolean)
или SSLSocket.setWantClientAuth(boolean)
.
setWantClientAuth(boolean)
, setNeedClientAuth(boolean)
, getNeedClientAuth()
, setUseClientMode(boolean)
public abstract void setUseClientMode(boolean mode)
Серверы обычно аутентифицируют себя, и клиенты не обязаны делать так.
В редких случаях серверы TCP должны действовать в клиентском режиме SSL на недавно принятые соединения. Например, клиенты FTP получают сокеты сервера и слушают там для обратных соединений от сервера. Клиент FTP использовал бы SSLServerSocket в "клиентском" режиме, чтобы принять обратное соединение, в то время как сервер FTP использует SSLSocket с "клиентским" режимом, отключенным, чтобы инициировать соединение. Во время получающегося квитирования могут быть снова использованы существующие сеансы SSL.
SSLSocket
s возвратился из accept()
наследуйте эту установку.
mode
- истина, если недавно принятые соединения должны использовать клиентский режим SSL.getUseClientMode()
public abstract boolean getUseClientMode()
setUseClientMode(boolean)
public abstract void setEnableSessionCreation(boolean flag)
SSLSocket
s возвратился из accept()
наследуйте эту установку.
flag
- истина указывает, что сеансы могут быть созданы; это - значение по умолчанию. ложь указывает, что должен быть возобновлен существующий сеанс.getEnableSessionCreation()
public abstract boolean getEnableSessionCreation()
setEnableSessionCreation(boolean)
public SSLParameters getSSLParameters()
setSSLParameters(SSLParameters)
public void setSSLParameters(SSLParameters params)
Это означает:
params.getCipherSuites()
ненуль, setEnabledCipherSuites()
вызывается с тем значением.params.getProtocols()
ненуль, setEnabledProtocols()
вызывается с тем значением.params.getNeedClientAuth()
или params.getWantClientAuth()
возвратиться true
, setNeedClientAuth(true)
и setWantClientAuth(true)
вызываются, соответственно; иначе setWantClientAuth(false)
вызывается.params.getServerNames()
ненуль, сокет сконфигурирует свои имена серверов с тем значением.params.getSNIMatchers()
ненуль, сокет сконфигурирует свой SNI matchers с тем значением.params
- параметрыIllegalArgumentException
- если setEnabledCipherSuites () или setEnabledProtocols () вызывают сбоиgetSSLParameters()
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92