Какой аргумент передать в SSL_CTX_set_cipher_list для отключения слабых шифров
Это зависит от того, какое определение слабости вы используете. В 2015 году вам придется эффективно отказаться от HIGH:!aNULL
, поскольку современные браузеры отклоняют некоторые шифры, включенные в HIGH
. Если вы разрешите MD5 и / или RC4, тогда вы получите устаревшее предупреждение о криптографии .
HIGH:!aNULL:!MD5:!RC4
Звонок будет выглядеть так:
rc = SSL_CTX_set_cipher_list(ctx, "HIGH:!aNULL:!MD5:!RC4");
ASSERT(rc >= 1);
Вам также следует отключить SSLv2, SSLv3 и, возможно, сжатие. Вы делаете это так:
const long flags = SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_COMPRESSION;
SSL_CTX_set_options(ctx, flags);
SSL_CTX_set_options
не возвращает значение, поэтому нет ничего, что можно проверить, чтобы убедиться, что вызов успешен.