Получение сертификатов cURL для работы с C++ и установка vcpkg

поэтому у меня есть класс, который делает HTTP-вызов с использованием curl в Visual Studios 2017, который был установлен через обсужденный vcpkg: здесь, используя вызовы функции curl_easy:

string returnResponseAsString(string requestURL) {
    CURL *curl_handle;
    CURLcode res;

    struct MemoryStruct chunk;

    chunk.memory = (char *)malloc(1);
    chunk.size = 0;

    curl_global_init(CURL_GLOBAL_ALL);

    /* init the curl session */
    curl_handle = curl_easy_init();

    /*Turn off SSL Verifcation*/
    curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYPEER, FALSE);

    /* specify URL to get */
    curl_easy_setopt(curl_handle, CURLOPT_URL, requestURL.c_str());

    /* send all data to this function  */
    curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);

   /* we pass our 'chunk' struct to the callback function */
   curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *)&chunk);

  /* some servers don't like requests that are made without a user-agent*/        
  curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, "libcurl-agent/1.0");

   /* get it! */
   res = curl_easy_perform(curl_handle);

   /* check for errors */
   if (res != CURLE_OK) {
       fprintf(stderr, "curl_easy_perform() failed: %s\n",
           curl_easy_strerror(res));
    }
    else {

        printf("%lu bytes retrieved\n", (long)chunk.size);
    }

    string response = chunk.memory;

    /* cleanup curl stuff */
    curl_easy_cleanup(curl_handle);

    free(chunk.memory);

    /* we're done with libcurl, so clean it up */
    curl_global_cleanup();

    return response;
}

Если я не включу эту строку curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYPEER, FALSE);, отключающую проверку SSL, я получу ошибку: curl_easy_perform() failed: Peer certificate cannot be authenticated with given CA certificates. Я попытался установить сертификаты в соответствии с этими инструкциями: ссылка, но говорит, что нужно поместить загруженные сертификаты в ту же папку, что и curl.exe. Насколько я могу судить, vcpkg не устанавливает curl.exe. Я искал .crt, и у меня есть образ найденных сертификатов под vcpkg. Где я должен разместить файл .crt для аутентификации для работы с визуальными студиями?

Изображение сертификата


person EliSquared    schedule 24.12.2017    source источник
comment
У вас есть sftp или scp, работающий с описанием установки, на которое вы ссылаетесь? Я получаю, что sftp не поддерживается или отключен. Я думаю, это отсутствие SSL?   -  person krjw    schedule 15.11.2018