Извините, если это звучит тупо, но все же я хочу задать этот вопрос, так как я новичок в libtorrent.
Я пытаюсь написать механизм передачи файлов с использованием libtorrent, но я выполняю эту интересную ошибку при выполнении CMake Build
:
CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
system variable OPENSSL_ROOT_DIR (missing: OPENSSL_LIBRARIES
OPENSSL_INCLUDE_DIR)
Call Stack (most recent call first):
C:/Program Files (x86)/CMake/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:374 (_FPHSA_FAILURE_MESSAGE)
C:/Program Files (x86)/CMake/share/cmake-3.2/Modules/FindOpenSSL.cmake:334 (find_package_handle_standard_args)
CMakeLists.txt:162 (FIND_PACKAGE)
Ошибка в значительной степени понятна — у меня отсутствует зависимость, и я могу ее установить. Но меня интересует, зашифрован ли по умолчанию торрент-трафик, использующий libtorrent. Я уже внедрил схему шифрования в моей программе, и я не хотел бы шифровать уже зашифрованные данные!
как зашифровано и при каких условиях здесь имеет значение. Давайте предположим, что вы имеете в виду шифрование по протоколу bittorrent (шифрование может быть немного вводящим в заблуждение, это действительно больше запутывания).
Тогда да, иногда. Поскольку на самом деле это просто запутывание, разрешено принимать незашифрованные входящие соединения, а также, в случае сбоя зашифрованного исходящего соединения (по какой-либо причине), он может повторно подключиться в незашифрованном режиме. Однако вы можете настроить libtorrent так, чтобы он не разрешал незашифрованные соединения, см. pe_settings. Обратите внимание, что до сих пор нет никакой аутентификации, о которой можно было бы говорить. По сути, информационный хэш торрента является ключевым.
Тем не менее, openssl не имеет никакого отношения к этому. Libtorrent поставляется со встроенной поддержкой RC4 и Diffie-Hellman (из libtomcrypt). OpenSSL необходим только для общения с трекерами по HTTPS и расширения (не широко поддерживается) для запуска самого bittorrent через SSL (который обеспечивает надлежащую аутентификацию между узлами).
Также, возможно, стоит отметить, что трафик трекера обычно не зашифрован. И даже когда это делается через SSL, трекеры обычно предоставляют самозаверяющие сертификаты (по крайней мере, по моему ограниченному опыту), поэтому, как правило, нецелесообразно применять аутентификацию там же.