J'ai trouvé qu'il y a vraiment très peu d'informations sur ce sujet. J'ai déjà une DLL en train de faire des messages réussi à l'aide de libcurl.
J'ai compilé libcurl avec OpenSSL pour la fonctionnalité SSL. P>
Voici un exercice de ma configuration de courroie d'origine. P>
curl_easy_setopt(handle, CURLOPT_ERRORBUFFER, errorBuffer); //curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER , 1); //curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST , 1); //curl_easy_setopt(curl, CURLOPT_CAINFO , "./ca.cert"); curl_easy_setopt(handle, CURLOPT_POSTFIELDS, cParam); curl_easy_setopt(handle, CURLOPT_POSTFIELDSIZE, strlen(cParam)); curl_easy_setopt(handle, CURLOPT_FOLLOWLOCATION, 1); curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, Request::writer); curl_easy_setopt(handle, CURLOPT_WRITEDATA, &buffer); curl_easy_setopt(handle, CURLOPT_URL, cURL);
3 Réponses :
Oui, c'est aussi simple. Assurez-vous simplement que le fichier "CA.CERT" que vous avez est un certificat CA VRAI CAN permettant de vérifier le certificat de votre serveur. P>
Où obtenez-vous ce fichier ca.cert code> de? Parce que sous Windows, THX à Chrome -> Options de développeur -> Sécurité Je ne suis que capable d'exporter
.cer code> (sans "T").
Si vous souhaitez faire confiance au même CAS que Firefox Trusts, vous pouvez obtenir un ensemble de CA Cert de ici
Tout ce que vous avez à faire pour utiliser SSL avec libcurl est une URL HTTPS au lieu d'une URL HTTP. La seule option que vous devez définir avec curl_easy_setopt est curlopt_url, bien qu'elle n'imprime que les données reçues à STDOUT si vous ne spécifiez pas de rappel écrit.
CURL *handle = curl_easy_init(); char url[] = "https://google.com"; curl_easy_setopt(handle, CURLOPT_URL, url); curl_easy_perform(handle);
Assurez-vous que lorsque vous utilisez curlopt_ssl_verifyhost code>, vous définissez la valeur réelle sur 2L (qui correspond à la valeur par défaut) au lieu de 1 (comme indiqué comme un commentaire dans cet exemple), si vous voulez vraiment vérifier le correspond à des correspondances de nom d'hôte, sinon, il suffirait de vérifier l'existence d'un "nom commun" (CN) dans le certificat. P>
Connexes: Stackoverflow.com/Questions / 197444 / ...