Класс 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 используется один из этих наборов шифрования. Минимальное качество обслуживания для этих значений по умолчанию требует защиты конфиденциальности и аутентификации сервера (т. е. нет анонимных наборов шифрования).
Возвращаемый массив включает наборы шифрования из списка стандартных имён наборов шифрования в разделе «Имена наборов шифрования JSSE» документации стандартных имён алгоритмов Java Cryptography Architecture, а также может включать другие наборы шифрования, поддерживаемые поставщиком.
- Возвращает:
- массив наборов шифрования, включённых по умолчанию
- См. также:
getSupportedCipherSuites()
getSupportedCipherSuites
public abstract String[] getSupportedCipherSuites()
Возвращает имена наборов шифрования, которые могут быть включены для использования в SSL-соединении. Обычно, только подмножество этих наборов будет включено по умолчанию, поскольку этот список может включать наборы шифрования, которые не соответствуют требованиям качества обслуживания для этих значений по умолчанию. Такие наборы шифрования полезны в специализированных приложениях.
Возвращаемый массив включает наборы шифрования из списка стандартных имён наборов шифрования в разделе «Имена наборов шифрования JSSE» документации стандартных имён алгоритмов Java Cryptography Architecture, а также может включать другие наборы шифрования, поддерживаемые поставщиком.
- Возвращает:
- массив имён наборов шифрования
- См. также:
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- закрыть подлежащий сокет при закрытии этого сокета.- Возвращает:
- сокет, совместимый с опциями сокета, установленными для этого объекта
- Исключения:
IOException- если при создании сокета произошла ошибка ввода-выводаUnsupportedOperationException- если подлежащий поставщик не реализует операциюNullPointerException- еслиsnull- 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/javax/net/ssl/SSLSocketFactory.html