Протоколы безопасного сетевого взаимодействия

       

Локализация и поддержка различных наборов символов


В большинстве случаев протоколы SSH непосредственно не выводят текст на терминал пользователя. Тем не менее, существует несколько случаев, в которых данные должны быть выведены на терминал. В этом случае набор символов должен быть указан явно. В большинстве случаев используется кодировка ISO 10646 UTF-8. При этом определяется поле для тега языка.

Существует большая проблема с набором символов для интерактивных сессий. Простого решения не существует, так как различные приложения могут показывать данные в различных форматах. Клиентом также могут применяться различные типы эмуляции терминалов, и используемый набор символов зависит от эмуляции терминала. Таким образом, для непосредственного описания используемого набора символов для данных терминальной сессии единственного места не существует. Тем не менее, стандарный тип эмуляции терминала "vt100" передается клиенту и неявно определяет набор символов и кодировку. Приложения обычно используют тип терминала для определения набора символов, или набор символов определяется с использованием внешних параметров. Эмуляция терминала может также допускать конфигурирование набора символов по умолчанию. В любом случае набор символов для терминальной сессии первоначально локально определяется клиентом.

Внутренние имена, используемые для идентификации алгоритмов и протоколов, обычно никогда не показываются пользователям и должны быть в US-ASCII.

Хотя имя пользователя и клиент, и сервер определяют внутренне, оно должно быть показано в логах, отчетах и т.п. Имена должны иметь кодировку ISO 10646 UTF-8, но в некоторых случаях могут требоваться другие кодировки.

В целях локализации протокол старается минимизировать число передаваемых текстовых сообщений. Когда они присутствуют, такие сообщения обычно относятся к ошибкам, отладочной информации или некоторым внешним конфигурационным данным. Для данных, которые должны быть показаны, следует предусмотреть возможность вызывать локализованное сообщение вместо переданного сервером.



Содержание раздела