Класс SSLParameters
public class SSLParameters extends Object
SSLParameter объекты могут быть созданы с помощью конструкторов в этом классе и могут быть описаны как предварительно заполненные объекты. SSLParameter объекты также могут быть получены с помощью getSSLParameters() методов в SSLSocket и SSLServerSocket и SSLEngine или методов getDefaultSSLParameters() и getSupportedSSLParameters() в SSLContext, и могут быть описаны как объекты, заполненные при подключении.
SSLParameters могут быть применены к подключению с помощью методов SSLSocket.setSSLParameters() и SSLServerSocket.setSSLParameters() и SSLEngine.setSSLParameters().
Например:
SSLParameters p = sslSocket.getSSLParameters();
p.setProtocols(new String[] { "TLSv1.2" });
p.setCipherSuites(
new String[] { "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", ... });
p.setApplicationProtocols(new String[] {"h2", "http/1.1"});
sslSocket.setSSLParameters(p);
- Since:
- 1.6
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
SSLParameters() |
Создаёт SSLParameters. |
SSLParameters |
Создаёт SSLParameters из указанного массива наборов шифров. |
SSLParameters |
Создаёт SSLParameters из указанного массива наборов шифров и протоколов. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
AlgorithmConstraints |
getAlgorithmConstraints() |
Возвращает ограничения криптографических алгоритмов. |
String[] |
getApplicationProtocols() |
Возвращает упорядоченный массив имён протоколов прикладного уровня, которые могут быть согласованы по протоколам SSL/TLS/DTLS. |
String[] |
getCipherSuites() |
Возвращает копию массива наборов шифров или null, если они не были установлены. |
boolean |
getEnableRetransmissions() |
Возвращает, включены ли повторные передачи рукопожатия DTLS. |
String |
getEndpointIdentificationAlgorithm() |
Возвращает алгоритм идентификации конечной точки. |
int |
getMaximumPacketSize() |
Возвращает максимальный ожидаемый размер сетевого пакета в байтах для записей SSL/TLS/DTLS. |
String[] |
getNamedGroups() |
Возвращает упорядоченный массив имён наименованных групп обмена ключами, которые могут использоваться по протоколам SSL/TLS/DTLS. |
boolean |
getNeedClientAuth() |
Возвращает, требуется ли проверка подлинности клиента. |
String[] |
getProtocols() |
Возвращает копию массива протоколов или null, если они не были установлены. |
final List |
getServerNames() |
Возвращает List, содержащий все SNIServerName параметров Server Name Indication (SNI), или null, если они не были установлены. |
String[] |
getSignatureSchemes() |
Возвращает упорядоченный массив имён схем подписи, которые могут использоваться по протоколам SSL/TLS/DTLS. |
final Collection |
getSNIMatchers() |
Возвращает Collection, содержащий все SNIMatcher параметров Server Name Indication (SNI), или null, если они не были установлены. |
final boolean |
getUseCipherSuitesOrder() |
Возвращает, следует ли учитывать предпочтения локальных наборов шифров. |
boolean |
getWantClientAuth() |
Возвращает, запрашивается ли проверка подлинности клиента. |
void |
setAlgorithmConstraints |
Устанавливает ограничения криптографических алгоритмов, которые будут использоваться в дополнение к тем, которые были настроены средой выполнения. |
void |
setApplicationProtocols |
Устанавливает упорядоченный массив имён протоколов прикладного уровня, которые могут быть согласованы по протоколам SSL/TLS/DTLS. |
void |
setCipherSuites |
Устанавливает массив наборов шифров. |
void |
setEnableRetransmissions |
Устанавливает, включены ли повторные передачи рукопожатия DTLS. |
void |
setEndpointIdentificationAlgorithm |
Устанавливает алгоритм идентификации конечной точки. |
void |
setMaximumPacketSize |
Устанавливает максимальный ожидаемый размер сетевого пакета в байтах для записей SSL/TLS/DTLS. |
void |
setNamedGroups |
Устанавливает упорядоченный массив имён наименованных групп обмена ключами, которые могут использоваться по протоколам SSL/TLS/DTLS. |
void |
setNeedClientAuth |
Устанавливает, требуется ли проверка подлинности клиента. |
void |
setProtocols |
Устанавливает массив протоколов. |
final void |
setServerNames |
Устанавливает требуемые SNIServerName параметров Server Name Indication (SNI). |
void |
setSignatureSchemes |
Устанавливает упорядоченный массив имён схем подписи, которые могут использоваться по протоколам SSL/TLS/DTLS. |
final void |
setSNIMatchers |
Устанавливает SNIMatcher параметров Server Name Indication (SNI). |
final void |
setUseCipherSuitesOrder |
Устанавливает, следует ли учитывать предпочтения локальных наборов шифров. |
void |
setWantClientAuth |
Устанавливает, запрашивается ли проверка подлинности клиента. |
Подробное описание конструкторов
SSLParameters
public SSLParameters()
Значения параметров cipherSuites, protocols, cryptographic algorithm constraints, endpoint identification algorithm, signature schemes, server names и server name matchers установлены в null; useCipherSuitesOrder, wantClientAuth и needClientAuth установлены в false; enableRetransmissions установлен в true; максимальный размер сетевого пакета установлен в 0.
SSLParameters
public SSLParameters(String[] cipherSuites)
Вызов этого конструктора эквивалентен вызову конструктора без аргументов, за которым следует setCipherSuites(cipherSuites);. Примечание: стандартный список имён cipher suite можно найти в разделе JSSE Cipher Suite Names спецификации Java Security Standard Algorithm Names. Поставщики могут поддерживать имена cipher suite, не включённые в этот список.
- Параметры:
-
cipherSuites- массив ciphersuites (или null)
SSLParameters
public SSLParameters(String[] cipherSuites, String[] protocols)
Вызов этого конструктора эквивалентен вызову конструктора без аргументов, за которым следует setCipherSuites(cipherSuites); setProtocols(protocols);. Примечание: стандартный список имён cipher suite можно найти в разделе JSSE Cipher Suite Names спецификации Java Security Standard Algorithm Names. Поставщики могут поддерживать имена cipher suite, не включённые в этот список.
- Параметры:
-
cipherSuites- массив ciphersuites (или null) -
protocols- массив protocols (или null)
Подробное описание методов
getCipherSuites
public String[] getCipherSuites()
Возвращаемый массив включает cipher suites из списка стандартных имён cipher suite в разделе JSSE Cipher Suite Names спецификации Java Security Standard Algorithm Names, а также может включать и другие cipher suites, поддерживаемые поставщиком.
- Возвращает:
- копию массива ciphersuites или null, если они не были установлены.
setCipherSuites
public void setCipherSuites(String[] cipherSuites)
- Параметры:
-
cipherSuites- массив ciphersuites (или null). Примечание: стандартный список имён cipher suite можно найти в разделе JSSE Cipher Suite Names спецификации Java Security Standard Algorithm Names. Поставщики могут поддерживать имена cipher suite, не включённые в этот список, или могут не использовать рекомендуемое имя для определённого cipher suite.
getProtocols
public String[] getProtocols()
- Возвращает:
- копию массива protocols или null, если они не были установлены.
setProtocols
public void setProtocols(String[] protocols)
- Параметры:
-
protocols- массив protocols (или null)
getWantClientAuth
public boolean getWantClientAuth()
- Возвращает:
- требуется ли запросить аутентификацию клиента.
setWantClientAuth
public void setWantClientAuth(boolean wantClientAuth)
needClientAuth.- Параметры:
-
wantClientAuth- требуется ли запросить аутентификацию клиента
getNeedClientAuth
public boolean getNeedClientAuth()
- Возвращает:
- требуется ли обязательная аутентификация клиента.
setNeedClientAuth
public void setNeedClientAuth(boolean needClientAuth)
wantClientAuth.- Параметры:
-
needClientAuth- требуется ли обязательная аутентификация клиента
getAlgorithmConstraints
public AlgorithmConstraints getAlgorithmConstraints()
- Возвращает:
- ограничения на криптографические алгоритмы или null, если ограничения не были установлены
- С:
- 1.7
- См. также:
setAlgorithmConstraints
public void setAlgorithmConstraints(AlgorithmConstraints constraints)
Если параметр constraints не равен null, каждый криптографический алгоритм, ключ и параметры алгоритма, используемые в рукопожатии SSL/TLS/DTLS, должны быть разрешены ограничениями.
- Параметры:
-
constraints- ограничения на алгоритмы - С:
- 1.7
getEndpointIdentificationAlgorithm
public String getEndpointIdentificationAlgorithm()
- Возвращает:
- алгоритм идентификации конечной точки или null, если он не был установлен.
- С:
- 1.7
- См. также:
setEndpointIdentificationAlgorithm
public void setEndpointIdentificationAlgorithm(String algorithm)
Если параметр algorithm не равен null или не пуст, процедуры идентификации/верификации конечной точки должны обрабатываться во время рукопожатия SSL/TLS/DTLS. Это для предотвращения атак "человек посередине".
- Параметры:
-
algorithm- Стандартное строковое имя алгоритма идентификации конечной точки (или null). См. документ Java Security Standard Algorithm Names для получения информации о стандартных именах алгоритмов. - С:
- 1.7
- Внешние спецификации
- См. также:
setServerNames
public final void setServerNames(List<SNIServerName> serverNames)
SNIServerName параметра Server Name Indication (SNI). Этот метод полезен только для SSLSocket или SSLEngine, работающих в режиме клиента.
Обратите внимание, что список serverNames клонируется для защиты от последующих изменений.
- Параметры:
-
serverNames- список требуемыхSNIServerName(или null) - Исключения:
-
NullPointerException- если списокserverNamesсодержитnullэлемент -
IllegalArgumentException- если списокserverNamesсодержит более одного имени одного и того же типа - С:
- 1.8
- См. также:
getServerNames
public final List<SNIServerName> getServerNames()
List, содержащий все SNIServerName параметров указания имени сервера (SNI), или null, если не задано ни одного. Этот метод полезен только для SSLSocket или SSLEngine, работающих в режиме клиента.
Для соединений SSL/TLS/DTLS поставщик SSL/TLS/DTLS может указать значение по умолчанию для определенного типа имени сервера. В режиме клиента рекомендуется, чтобы поставщики по умолчанию включали указание имени сервера всякий раз, когда сервер может быть найден по поддерживаемому типу имени сервера.
Рекомендуется, чтобы поставщики инициализировали значения по умолчанию для указаний имени сервера при создании SSLSocket/SSLEngine. В следующих примерах имя сервера может быть представлено экземпляром SNIHostName, инициализированным именем хоста "www.example.com" и типом StandardConstants.SNI_HOST_NAME.
Socket socket =
sslSocketFactory.createSocket("www.example.com", 443);
или
SSLEngine engine =
sslContext.createSSLEngine("www.example.com", 443);
- Возвращает:
- null или неизменяемый список непустых
SNIServerName - С:
- 1.8
- См. также:
setSNIMatchers
public final void setSNIMatchers(Collection<SNIMatcher> matchers)
SNIMatcher параметров указания имени сервера (SNI). Этот метод полезен только для SSLSocket или SSLEngine, работающих в режиме сервера.
Обратите внимание, что коллекция matchers клонируется для защиты от последующих изменений.
- Параметры:
-
matchers- коллекцияSNIMatcher(или null) - Исключения:
-
NullPointerException- еслиmatchersсодержитnullэлемент -
IllegalArgumentException- еслиmatchersсодержит более одного имени одного типа - С:
- 1.8
- См. также:
getSNIMatchers
public final Collection<SNIMatcher> getSNIMatchers()
Collection, содержащий все SNIMatcher параметров указания имени сервера (SNI), или null, если не задано ни одного. Этот метод полезен только для SSLSocket или SSLEngine, работающих в режиме сервера.
Для лучшей межплатформенной совместимости поставщики обычно не определяют значения по умолчанию для соответствия, чтобы по умолчанию серверы игнорировали расширение SNI и продолжали рукопожатие.
- Возвращает:
- null или неизменяемый набор непустых
SNIMatcher - С:
- 1.8
- См. также:
setUseCipherSuitesOrder
public final void setUseCipherSuitesOrder(boolean honorOrder)
- Параметры:
-
honorOrder- следует ли учитывать порядок локальных наборов шифров в#getCipherSuitesво время рукопожатия SSL/TLS/DTLS. - С:
- 1.8
- См. также:
getUseCipherSuitesOrder
public final boolean getUseCipherSuitesOrder()
- Возвращает:
- следует ли учитывать порядок локальных наборов шифров в
#getCipherSuitesво время рукопожатия SSL/TLS/DTLS. - С:
- 1.8
- См. также:
setEnableRetransmissions
public void setEnableRetransmissions(boolean enableRetransmissions)
- Параметры:
-
enableRetransmissions-trueуказывает, что повторные передачи рукопожатия DTLS должны быть включены;falseуказывает, что повторные передачи рукопожатия DTLS должны быть отключены - С:
- 9
- См. также:
getEnableRetransmissions
public boolean getEnableRetransmissions()
- Возвращает:
- true, если повторные передачи рукопожатия DTLS должны быть включены
- С:
- 9
- См. также:
setMaximumPacketSize
public void setMaximumPacketSize(int maximumPacketSize)
- Примечание API:
- Рекомендуется, чтобы максимальный размер пакета, если возможно, не был меньше 256 байт, чтобы небольшие сообщения рукопожатия, такие как HelloVerifyRequests, не фрагментировались.
- Примечание реализации:
- Если максимальный размер пакета слишком мал для хранения минимальной записи, реализация может попытаться сгенерировать минимальные записи. Однако это может привести к тому, что сгенерированный пакет будет больше максимального размера пакета.
- Параметры:
-
maximumPacketSize- максимальный ожидаемый размер сетевого пакета в байтах или0для использования неявного размера, который автоматически задается базовой реализацией. - Исключения:
-
IllegalArgumentException- еслиmaximumPacketSizeотрицательно. - С:
- 9
- См. также:
getMaximumPacketSize
public int getMaximumPacketSize()
- Примечание API:
- Неявный размер может не быть фиксированным значением, особенно для реализации протокола DTLS.
- Примечание реализации:
- Для соединений SSL/TLS/DTLS базовый поставщик должен вычислять и указывать неявное значение максимального ожидаемого размера сетевого пакета, если оно не настроено явно. Для любого объекта соединения, этот метод никогда не должен возвращать
0, чтобы приложения могли получить фактический неявный размер базовой реализации.Реализация должна пытаться соблюдать конфигурацию максимального размера пакета. Однако если максимальный размер пакета слишком мал для хранения минимальной записи, реализация может попытаться сгенерировать как можно меньше записей. Это может привести к тому, что сгенерированный пакет будет больше максимального размера пакета.
- Возвращает:
- максимальный ожидаемый размер сетевого пакета или
0, если используется неявный размер, автоматически задаваемый базовой реализацией, и этот объект не был заполнен никаким соединением. - С:
- 9
- См. также:
getApplicationProtocols
public String[] getApplicationProtocols()
Массив может быть пустым (длиной 0), в этом случае указания протоколов не будут использоваться.
Этот метод возвращает новый массив каждый раз при вызове.
- Возвращает:
- непустой, возможно пустой массив протоколов прикладного уровня. Массив упорядочен по предпочтению протокола, при этом первый элемент является наиболее предпочтительным.
- С:
- 9
- См. также:
Установка приоритетного списка имен протоколов прикладного уровня
public void setApplicationProtocols(String[] protocols)
Если протоколы прикладного уровня поддерживаются реализацией SSL/TLS, этот метод настраивает, какие значения могут быть переговорены протоколами, такими как RFC 7301, протокол переговорной связи прикладного уровня (ALPN).
Если ожидается, что этот конец соединения предложит значения протоколов прикладного уровня, все протоколы, настроенные этим методом, будут отправлены партнеру.
Если ожидается, что этот конец соединения выберет значение протокола прикладного уровня, значения, настроенные методом protocols, сравниваются со значениями, отправленными партнером. Первое совпавшее значение становится согласованным значением. Если ни одно из protocols фактически не запрашивалось партнером, основной протокол определит, какие действия предпринять. (Например, ALPN отправит предупреждение "no_application_protocol" и прервет соединение.)
Значения String должны быть представлены с использованием сетевого представления, ожидаемого партнёром. Например, если ALPN String должен быть обменён с помощью UTF-8, String должен быть преобразован в его byte[] представление и сохранён как байтовый String перед вызовом этого метода.
// MEETEI MAYEK LETTERS HUK UN I (Unicode 0xabcd->0xabcf): 2 bytes
byte[] bytes = "\uabcd\uabce\uabcf"
.getBytes(StandardCharsets.UTF_8);
String HUK_UN_I = new String(bytes, StandardCharsets.ISO_8859_1);
// 0x00-0xFF: 1 byte
String rfc7301Grease8A = "\u008A\u008A";
SSLParameters p = sslSocket.getSSLParameters();
p.setApplicationProtocols(new String[] {
"h2", "http/1.1", rfc7301Grease8A, HUK_UN_I});
sslSocket.setSSLParameters(p);
- Требования к реализации:
- Этот метод создаст копию массива
protocols. - Параметры:
-
protocols- упорядоченный массив протоколов прикладного уровня, причёмprotocols[0]имеет наивысший приоритет. Если массив пуст (длины 0), указания протокола не будут использоваться. - Исключения:
-
IllegalArgumentException- если protocols равен null, или если любой элемент в непустом массиве равен null или пустой строкой (длины 0). - С тех пор:
- 9
- Внешние спецификации
- См. также:
Получить приоритезированный список схем подписи
public String[] getSignatureSchemes()
Обратите внимание, что стандартный список имён схем подписи определён в разделе «Схемы подписи» спецификации Java Security Standard Algorithm Names. Поставщики могут поддерживать схемы подписи, не определённые в этом списке, или могут не использовать рекомендуемое имя для определённой схемы подписи.
Набор схем подписи, которые будут использоваться в соединениях SSL/TLS/DTLS, определяется возвращаемым массивом этого метода и схемами подписи по умолчанию, специфичными для поставщика.
Если возвращаемый массив null, то схемы подписи по умолчанию, специфичные для поставщика, будут использоваться в соединениях SSL/TLS/DTLS.
Если возвращаемый массив пуст (длины 0), то механизм переговоров схем подписи выключен для протоколов SSL/TLS/DTLS, и соединения могут не быть установлены, если механизм переговоров необходим для определённого протокола SSL/TLS/DTLS. Этот параметр переопределит схемы подписи по умолчанию, специфичные для поставщика.
Если возвращаемый массив не null или пуст (длины 0), то схемы подписи в возвращаемом массиве будут использоваться в соединениях SSL/TLS/DTLS. Этот параметр переопределит схемы подписи по умолчанию, специфичные для поставщика.
Этот метод возвращает последнее значение, переданное в setSignatureSchemes(java.lang.String[]), если этот метод был вызван, в противном случае возвращает схемы подписи по умолчанию для объектов, заполненных соединениями, или null для предварительно заполненных объектов.
- Примечание API:
- Обратите внимание, что поставщик может не быть обновлён для поддержки этого метода, и в этом случае может вернуть
nullвместо схем подписи по умолчанию для объектов, заполненных соединениями. - Примечания по реализации:
- Поставщик SunJSSE поддерживает этот метод. Примечание: приложения могут использовать свойства системы
jdk.tls.client.SignatureSchemesи/илиjdk.tls.server.SignatureSchemesс поставщиком SunJSSE, чтобы переопределить схемы подписи по умолчанию, специфичные для поставщика. - Возвращаемое значение:
- массив имён схем подписи
Stringsилиnull, если не задано ничего. Для ненулевых возвращаемых значений этот метод будет возвращать новый массив каждый раз при вызове. Массив упорядочен по приоритету схемы подписи, причём первый элемент имеет наивысший приоритет. Поставщики должны игнорировать неизвестные имена схем подписи при установлении соединений SSL/TLS/DTLS. - С тех пор:
- 19
- См. также:
Установить приоритезированный список схем подписи
public void setSignatureSchemes(String[] signatureSchemes)
Обратите внимание, что стандартный список имён схем подписи определён в разделе «Схемы подписи» спецификации Java Security Standard Algorithm Names. Поставщики могут поддерживать схемы подписи, не определённые в этом списке, или могут не использовать рекомендуемое имя для определённой схемы подписи.
Набор схем подписи, которые будут использоваться в соединениях SSL/TLS/DTLS, определяется входным параметром signatureSchemes массивом и схемами подписи по умолчанию, специфичными для поставщика. Смотрите getSignatureSchemes() для получения подробной информации о том, как параметры используются в соединениях SSL/TLS/DTLS.
- Примечание API:
- Обратите внимание, что поставщик может не быть обновлён для поддержки этого метода, и в этом случае он может проигнорировать установленные схемы.
- Примечания по реализации:
- Поставщик SunJSSE поддерживает этот метод.
- Параметры:
-
signatureSchemes- упорядоченный массив имён схем подписи, причём первый элемент имеет наивысший приоритет, илиnull. Этот метод создаст копию этого массива. Поставщики должны игнорировать неизвестные имена схем подписи при установлении соединений SSL/TLS/DTLS. - Исключения:
-
IllegalArgumentException- если какой-либо элемент в массивеsignatureSchemesравенnullили пустой. - С тех пор:
- 19
- См. также:
Получить приоритезированный список имён групп
public String[] getNamedGroups()
Обратите внимание, что стандартный список имён групп обмена ключами определён в разделе «Имена групп» спецификации Java Security Standard Algorithm Names. Поставщики могут поддерживать группы, не определённые в этом списке, или могут не использовать рекомендуемое имя для определённой группы.
Набор групп, который будет использоваться в соединениях SSL/TLS/DTLS, определяется возвращаемым массивом этого метода и группами по умолчанию, специфичными для поставщика.
Если возвращаемый массив null, то группы по умолчанию, специфичные для поставщика, будут использоваться в соединениях SSL/TLS/DTLS.
Если возвращаемый массив пуст (длины 0), то механизм переговоров групп выключен для протоколов SSL/TLS/DTLS, и соединения могут не быть установлены, если механизм переговоров необходим для определённого протокола SSL/TLS/DTLS. Этот параметр переопределит группы по умолчанию, специфичные для поставщика.
Если возвращаемый массив не null или пуст (длины 0), то группы в возвращаемом массиве будут использоваться в соединениях SSL/TLS/DTLS. Этот параметр переопределит группы по умолчанию, специфичные для поставщика.
Этот метод возвращает последнее значение, переданное в setNamedGroups(java.lang.String[]), если этот метод был вызван, в противном случае возвращает группы по умолчанию для объектов, заполненных соединениями, или null для предварительно заполненных объектов.
- Примечание API:
- Обратите внимание, что поставщик может не быть обновлён для поддержки этого метода, и в этом случае может вернуть
nullвместо групп по умолчанию для объектов, заполненных соединениями. - Примечания по реализации:
- Поставщик SunJSSE поддерживает этот метод. Приложения могут использовать свойство системы
jdk.tls.namedGroupsс поставщиком SunJSSE, чтобы переопределить группы по умолчанию, специфичные для поставщика. - Возвращаемое значение:
- массив имён групп обмена ключами
Stringsилиnull, если не задано ничего. Для ненулевых возвращаемых значений этот метод возвращает новый массив при каждом вызове. Массив упорядочен по приоритету групп, причём первый элемент имеет наивысший приоритет. Поставщики должны игнорировать неизвестные имена групп при установлении соединений SSL/TLS/DTLS. - С тех пор:
- 20
- См. также:
setNamedGroups
public void setNamedGroups(String[] namedGroups)
Обратите внимание, что стандартный список именованных групп обмена ключами определён в разделе Именованные группы спецификации Java Security Standard Algorithm Names. Поставщики могут поддерживать именованные группы, не определённые в этом списке, или не использовать рекомендуемое имя для определённой именованной группы.
Набор именованных групп, которые будут использоваться в соединениях SSL/TLS/DTLS, определяется параметром namedGroups и предопределёнными именованными группами, специфичными для поставщика. Смотрите getNamedGroups() для подробностей о том, как параметры используются в соединениях SSL/TLS/DTLS.
- Примечание API:
- Обратите внимание, что поставщик может быть не обновлён для поддержки этого метода и в таком случае может игнорировать установленные именованные группы.
- Примечание реализации:
- Поставщик SunJSSE поддерживает этот метод.
- Параметры:
-
namedGroups— упорядоченный массив имён именованных групп обмена ключами, где первый элемент имеет наивысший приоритет илиnull. Этот метод создаст копию этого массива. Поставщики должны игнорировать неизвестные имена схем именованных групп при установлении соединений SSL/TLS/DTLS. - Исключения:
-
IllegalArgumentException— если любой элемент в массивеnamedGroupsявляется дубликатом,nullили пустым. - С момента:
- 20
- См. также:
© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/javax/net/ssl/SSLParameters.html