Выбор шифра сервера OpenSSL - PullRequest
2 голосов
/ 22 января 2010

Во время рукопожатия SSL / TLS клиент отправляет список поддерживаемых комплектов шифров, а сервер выбирает, какой из них использовать для диалога. Windows имеет приоритетный список комплектов шифров (настраиваемый через реестр) и выберет первый комплект в этом списке, который поддерживается клиентом. После того как список допустимых шифров создан с использованием флагов набора шифров, какой алгоритм использует OpenSSL для выбора набора шифров, когда он действует как сервер? Я не смог найти ответ в документации OpenSSL.

Ответы [ 2 ]

22 голосов
/ 22 января 2010

Заказывается список наборов шифров, отправленных клиентом;первый набор в списке является наиболее предпочтительным для клиента.Обычно OpenSSL как сервер учитывает предпочтения клиента: он выбирает наиболее предпочтительный для клиента набор из списка наборов, поддерживаемых как клиентом, так и сервером.

Начиная с OpenSSL-0.9.7 (выпущено вконец 2002 г.), OpenSSL имеет программный флаг под названием SSL_OP_CIPHER_SERVER_PREFERENCE, который обеспечивает настройки сервера: список поддерживаемых сервером наборов шифров также упорядочен по предпочтениям, и сервер выбирает набор, который сам сервер больше всего предпочитает среди тех, которыеподдержка клиента и сервера.Этот флаг задокументирован во включаемом файле ssl.h.

С помощью команды "s_server" из командной строки параметр -serverpref используется для активации флага SSL_OP_CIPHER_SERVER_PREFERENCE.

0 голосов
/ 22 января 2010

Посмотрите на эту справочную страницу .

Команда cipherlist преобразует списки шифров OpenSSL в упорядоченный SSL шифровать списки предпочтений. Он может быть использован в качестве инструмента тестирования для определения соответствующий шифрлист.

...