#include #include #include #include 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; }