Я написал приложение C ++ Qt (QtCreator версии 4.8 на основе Qt 5.12.0), работающее на Linux mint версии 18.3, которое использует QNetworkAccessManager и связанные с ним классы. Это в основном клиентское приложение Betfair HTTPS, которое связывается с серверами Betfair. У меня установлен openSSL (версия 1.0.2g).
В основном мое приложение работает отлично, но я получаю qt.network.ssl: QSslSocket: не могу разрешить SSLv2_server_method (дважды) на вкладке вывода приложения в QtCreator. Я могу успешно войти в систему и взаимодействовать с API - все выглядит и ведет себя хорошо! Я даже использовал wireshark для проверки пакетов, которые наверняка выглядят зашифрованными.
Я видел другие ответы здесь и в Интернете, в которых говорится, что Ubuntu поставляет openSSL с отключенным openSSLv2 из-за нестабильности и рекомендаций по перекомпиляции с включенным openSSLv2. Но так как мое приложение действительно работает, я не уверен, нужно ли это?
По сути, мой вопрос заключается в том, каковы последствия этого предупреждения для моего программного обеспечения (которое работает точно так, как задумано) в отношении безопасности? Я действительно не хочу игнорировать предупреждение, не зная, для чего оно. Я знаю только основы работы SSL, поэтому немного не знаю, как действовать дальше.
РЕДАКТИРОВАТЬ: Некоторые ответы привели меня к обнаружению, что предупреждение срабатывает в момент, когда QSslKey создается из моего файла ключей. Фактический код, вызывающий это:
QByteArray keydata = kfile.readAll();
QSslKey pkey(keydata,QSsl::Rsa); // Warning fires after this line executed
if(pkey.isNull()) {
qWarning("The key has no content.");
}