Класс SSLSocketFactory
- java.lang.Object
-
- javax.net.SocketFactory
-
- javax.net.ssl.SSLSocketFactory
public abstract class SSLSocketFactory extends SocketFactory
SSLSocketFactory создаёт SSLSocket.
- Since:
- 1.4
- См. также:
SSLSocket
Конструкторы
| Конструктор и описание |
|---|
SSLSocketFactory() Конструктор используется только подклассами. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
Socket |
createSocket(Socket s,
InputStream consumed,
boolean autoClose) Создаёт сокет в режиме сервера |
abstract Socket |
createSocket(Socket s,
String host,
int port,
boolean autoClose) Возвращает сокет, наложенный поверх существующего сокета, подключенного к указанному хосту по указанному порту. |
static SocketFactory |
getDefault() Возвращает стандартный SSL сокет-фабрику. |
abstract String[] |
getDefaultCipherSuites() Возвращает список наборов шифрования, которые включены по умолчанию. |
abstract String[] |
getSupportedCipherSuites() Возвращает имена наборов шифрования, которые могут быть включены для использования в SSL соединении. |
Методы, унаследованные от класса javax.net.SocketFactory
createSocket, createSocket, createSocket, createSocket, createSocket Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
SSLSocketFactory
public SSLSocketFactory()
Конструктор используется только подклассами.
Методы
getDefault
public static SocketFactory getDefault()
Возвращает стандартный SSL сокет-фабрику.
При первом вызове этого метода проверяется системная переменная "ssl.SocketFactory.provider". Если она не пустая, загружается и создается класс с таким именем. Если это успешно и объект является экземпляром SSLSocketFactory, он становится стандартным SSL сокет-фабрикой.
В противном случае этот метод возвращает SSLContext.getDefault().getSocketFactory(). Если этот вызов терпит неудачу, возвращается неработоспособный фабрика.
- Возвращает:
- стандартную
SocketFactory - См. также:
SSLContext.getDefault()
getDefaultCipherSuites
public abstract String[] getDefaultCipherSuites()
Возвращает список наборов шифрования, которые включены по умолчанию. Если другой список не включён, при установлении соединения SSL будет использован один из этих наборов шифрования. Минимальное качество обслуживания по умолчанию требует защиты конфиденциальности и аутентификации сервера (то есть, никаких анонимных наборов шифрования).
- Возвращает:
- массив наборов шифрования по умолчанию
- См. также:
getSupportedCipherSuites()
getSupportedCipherSuites
public abstract String[] getSupportedCipherSuites()
Возвращает имена наборов шифрования, которые могут быть включены для использования в SSL соединении. Обычно только подмножество этих наборов включено по умолчанию, так как этот список может включать наборы шифрования, которые не соответствуют требованиям качества обслуживания по умолчанию. Такие наборы шифрования полезны в специализированных приложениях.
- Возвращает:
- массив имён наборов шифрования
- См. также:
getDefaultCipherSuites()
createSocket
public abstract Socket createSocket(Socket s,
String host,
int port,
boolean autoClose)
throws IOException Возвращает сокет, наложенный поверх существующего сокета, подключенного к указанному хосту по указанному порту. Этот конструктор может быть использован при туннелировании SSL через прокси или при согласовании использования SSL поверх существующего сокета. Хост и порт относятся к логическому целевому узлу. Этот сокет настраивается с использованием параметров сокета, установленных для этой фабрики.
- Параметры:
-
s- существующий сокет -
host- хост сервера -
port- порт сервера -
autoClose- закрыть подлежащий сокет при закрытии этого сокета - Возвращает:
- сокет, подключенный к указанному хосту и порту
- Исключения:
-
IOException- если при создании сокета произошла ошибка ввода/вывода -
NullPointerException- если параметр s равен null
createSocket
public Socket createSocket(Socket s,
InputStream consumed,
boolean autoClose)
throws IOException Создаёт сокет в режиме сервера Socket поверх существующего подключенного сокета и может читать данные, которые уже были извлечены/удалены из Socket подлежащего InputStream.
Этот метод может использоваться серверным приложением, которое нуждается в наблюдении за входными данными, но всё ещё создаёт корректные SSL/TLS соединения: например, инспекция расширений Server Name Indication (SNI) (См. раздел 3 TLS Extensions (RFC6066)). Данные, которые уже были удалены из подлежащего InputStream, должны быть загружены в consumed поток перед вызовом этого метода, возможно, используя ByteArrayInputStream. Когда этот Socket начнёт установку соединения, он прочитает все данные в consumed до тех пор, пока не достигнет EOF, затем все дальнейшие данные читаются из подлежащего InputStream как обычно.
Возвращаемый сокет настраивается с использованием параметров сокета, установленных для этой фабрики, и настроен на использование режима сервера при установке соединения (см. SSLSocket.setUseClientMode(boolean)).
- Параметры:
-
s- существующий сокет -
consumed- извлечённые входные сетевые данные, которые уже были удалены из существующегоSocketInputStream. Этот параметр может бытьnullесли данные не были удалены. -
autoClose- закрыть подлежащий сокет при закрытии этого сокета. - Возвращает:
- соответствующий
Socketпараметрам сокета, установленным для этой фабрики - Исключения:
-
IOException- если при создании сокета произошла ошибка ввода/вывода -
UnsupportedOperationException- если подлежащий провайдер не реализует операцию -
NullPointerException- еслиsравноnull - Since:
- 1.8
© 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.