Spec-Zone.ru › OpenJDK 8

Класс 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)

Создаёт сокет в режиме сервера Socket поверх существующего подключенного сокета и может читать данные, которые уже были извлечены/удалены из Socket подлежащего InputStream.

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 - извлечённые входные сетевые данные, которые уже были удалены из существующего Socket InputStream. Этот параметр может быть 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.

Spec-Zone.ru

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