Поделиться через


SNIHostName Конструкторы

Определение

Перегрузки

SNIHostName(Byte[])

Создает указанное закодированное SNIHostName значение.

SNIHostName(String)

Создает указанное SNIHostName имя узла.

SNIHostName(Byte[])

Создает указанное закодированное SNIHostName значение.

[Android.Runtime.Register(".ctor", "([B)V", "", ApiSince=24)]
public SNIHostName (byte[]? encoded);
[<Android.Runtime.Register(".ctor", "([B)V", "", ApiSince=24)>]
new Javax.Net.Ssl.SNIHostName : byte[] -> Javax.Net.Ssl.SNIHostName

Параметры

encoded
Byte[]

закодированное имя узла этого имени сервера

Атрибуты

Комментарии

Создает указанное закодированное SNIHostName значение.

Обычно этот метод используется для синтаксического анализа значения закодированного имени в запрошенном расширении SNI.

Для RFC 6066 значение закодированного имени имени узла соответствует StandardCharsets#US_ASCIIтребованиям. Однако в предыдущей версии расширения SNI ( RFC 4366) закодированное имя узла представлено в виде строки байтов с помощью кодировки UTF-8. Для обеспечения допустимости версий этот метод позволяет использовать набор аргументов encoded StandardCharsets#UTF_8, а также StandardCharsets#US_ASCII. IDN#toASCII(String) используется для перевода аргумента encoded в имя узла, совместимого с ASCII (ACE).

Настоятельно рекомендуется использовать этот конструктор только для анализа значения закодированного имени в запрошенном расширении SNI. В противном случае, чтобы соответствовать RFC 6066, всегда используйте StandardCharsets#US_ASCIIстандартную кодировку и примените ограничения на символы ASCII в именах узлов (см. rfC 3490, RFC 1122, RFC 1123) для encoded аргумента или использованияSNIHostName#SNIHostName(String).

Аргумент encoded недопустим, если он: <ul<>liencoded> пуст,< /<>>encodedli заканчивается конечным точкой,</li><liencoded> не кодируется в StandardCharsets#US_ASCII или StandardCharsets#UTF_8-совместимый charset,</li<>li>encoded не является допустимым международным доменным именем (IDN), соответствующим спецификации RFC 3490.</li></ul>

Обратите внимание, что encoded массив байтов клонируется для защиты от последующего изменения.

Документация по Java для javax.net.ssl.SNIHostName.SNIHostName(byte[]).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к

SNIHostName(String)

Создает указанное SNIHostName имя узла.

[Android.Runtime.Register(".ctor", "(Ljava/lang/String;)V", "", ApiSince=24)]
public SNIHostName (string? hostname);
[<Android.Runtime.Register(".ctor", "(Ljava/lang/String;)V", "", ApiSince=24)>]
new Javax.Net.Ssl.SNIHostName : string -> Javax.Net.Ssl.SNIHostName

Параметры

hostname
String

имя узла этого имени сервера

Атрибуты

Комментарии

Создает указанное SNIHostName имя узла.

Обратите внимание, что для RFC 6066 значение имени сервера в кодировке имени узла соответствует StandardCharsets#US_ASCIIтребованиям. В этом методе hostname может быть понятное международное доменное имя (IDN). IDN#toASCII(String, int)используется для принудительного применения ограничений на символы ASCII в именах узлов (см. RFC 3490, RFC 1122, RFC 1123) и переводить кодирование, совместимое hostname с ASCII (ACE), как:

IDN.toASCII(hostname, IDN.USE_STD3_ASCII_RULES);

Аргумент hostname является незаконным, если он: <ul<>li пуст,</li>>>hostname<hostname заканчивается конечным точкой,</li li<>>hostname не является допустимым международным доменным именем (IDN), соответствующим спецификации RFC 3490.</li></ul>

Документация по Java для javax.net.ssl.SNIHostName.SNIHostName(java.lang.String).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к