#include <stdio.h>

#include <curl/curl.h>
#include <curl/types.h>
#include <curl/easy.h>


int acceptcertificate(void)

{
  char buf[80];

  puts("Cannot verify peer certificate. Do you accept it ? ");
  fflush(stdout);

  if (!gets(buf))
    return 0;

  return curl_strnequal(buf, "y", 1);
}


int main(int argc, char **argv)
{
  CURL *curl;
  CURLcode res;
  FILE *headerfile;
  const char *pPassphrase = NULL;

  const char *pKeyName;
  const char *pKeyType;

  curl_global_init(CURL_GLOBAL_DEFAULT);
  curl = curl_easy_init();

  if (curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "https://mail.datasphere.ch");
    curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 1L);
    res = curl_easy_perform(curl);

    if (res == CURLE_PEER_FAILED_VERIFICATION || res == CURLE_SSL_CACERT)
      if (acceptcertificate()) {
        curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
        res = curl_easy_perform(curl);
      }
        
    /* always cleanup */
    curl_easy_cleanup(curl);
  }

  curl_global_cleanup();
  return 0;
}
