#ssl #openssl #boost-asio
Вопрос:
Я хотел бы настроить конфигурацию TLS 1.2, как показано ниже, в моем приложении Linux.
ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
Я знаю API SSL_CTX_set_cipher_list(SSL *ssl, const char *str);
, что мой вопрос заключается в том, как установить более одного шифра с помощью этого API. Должен ли я вызывать этот API дважды или как-то иначе?
В настоящее время я устанавливаю только одну такую конфигурацию:
SSL_CTX_set_cipher_list(ctx, ECDHE-RSA-AES256-GCM-SHA384)
Как мне настроить обе конфигурации, как указано выше?
Ответ №1:
На основе https://www.openssl.org/docs/man1.0.2/man1/ciphers.html «Список шифров состоит из одной или нескольких строк шифра, разделенных двоеточиями. Запятые или пробелы также являются приемлемыми разделителями, но обычно используются двоеточия.»
Я бы сказал «ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:ECDHE_ECDSA_WITH_AES_128_GCM_SHA256»
Комментарии:
1. Спасибо. У меня есть следующий вопрос. Мне посоветовали использовать метод TLS_server_method( ) вместо исправления метода до TLS версии 1.2, учитывая различные клиенты, которые могут подключаться. Как затем установить набор шифров в случае, если клиент подключается в режиме TLSv1.2 к ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 ECDHE_ECDSA_WITH_AES_128_GCM_SHA256.