Скомпилированные libcurl и OpenSSL отдельно, это то же самое, что компиляция libcurl с OpenSSL?

#c #openssl #libcurl

#c #openssl #libcurl

Вопрос:

Итак, я скомпилировал следующее:

libcurl: x86 /debug, x86 /release, x64/debug, x64/release

OpenSSL: x86 /debug, x86 /release, x64/debug, x64/release

Теперь я настроил visual Studio для всех этих конфигураций, в которые включены как libcurl, так и OpenSSL.

Я видел, как люди упоминали компиляцию libcurl с OpenSSL. Это то же самое, что я сделал?

Кстати, если я запущу это:

 #define CURL_STATICLIB
#include <stdio.h>
#include <curl/curl.h>
#include <iostream>

int main(void)
{
    curl_version_info_data* vinfo = curl_version_info(CURLVERSION_NOW);
    if (vinfo->features amp; CURL_VERSION_SSL)
        std::cout << "yes" << std::endl;
    else
        std::cout << "no" << std::endl;
    return 0;
}
  

Вывод:

 yes
  

Означает ли это, что мои настройки хороши, если я хочу использовать libcurl с поддержкой SSL?

Кроме того, если порядок имеет значение, я сначала скомпилировал libcurl, а затем OpenSSL.

Платформа: Windows

Набор инструментов: VC

Ответ №1:

Вам вообще не понадобится OpenSSL при сборке libcurl в Windows.

libcurl по умолчанию используется Schannel (WinCNG, собственный криптограф Windows) при сборке в Windows.

Если CURL_VERSION_SSL создается отчет true , то поддержка SSL включена правильно.

Комментарии:

1. Означает ли это, что мне не нужно возиться со связками CA и pems ? И будет ли достаточно установки CURLOPT_SSL_VERIFYPEER ?

2. Schannel использует встроенное хранилище доверия Windows. Итак, если сайт использует сертификат, подписанный CA, тогда он действительно будет работать.