#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, тогда он действительно будет работать.