2012-01-27 3 views
0

Quelqu'un peut-il me donner un exemple de l'utilisation de SSL avec les API Wininet? Voici mon code, mais sans succès .....Utilisation de SSL avec Wininet

DWORD dwFlags = INTERNET_FLAG_SECURE|INTERNET_FLAG_IGNORE_CERT_CN_INVALID|SECURITY_FLAG_IGNORE_UNKNOWN_CA|INTERNET_FLAG_IGNORE_CERT_DATE_INVALID|INTERNET_FLAG_NO_AUTO_REDIRECT|INTERNET_FLAG_PRAGMA_NOCACHE|INTERNET_FLAG_NO_CACHE_WRITE; 

hOpen = InternetOpen(UserAgent,INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0); 
hConnect = InternetConnect(hOpen,Url,INTERNET_DEFAULT_HTTPS_PORT,NULL,NULL,INTERNET_SERVICE_HTTP,0,0); 
hRequest = HttpOpenRequest(hConnect,GET,Pages,NULL,NULL,NULL,dwFlags,0); 

HttpSendRequest(hRequest,ContentType,-1L,NULL,0); 

Merci à l'avance.

Répondre

4

Pour les sites qui utilisent des certificats valides, vous ne devriez pas avoir à faire quelque chose de spécial, autre que de spécifier l'URL https, bien sûr. Pour les certificats auto-générés, vous devrez peut-être installer manuellement l'autorité de certification sur l'ordinateur client et/ou fournir certains indicateurs IGNORE.

Une excellente façon de résoudre les problèmes de ce type est d'installer un rappel WININET. Cela vous permet de surveiller les progrès réalisés par WININET (ou pas) lors de la communication.

Il y a un exemple (que je ne l'ai pas personnellement utilisé) de la façon de l'utiliser ici:

http://www.codeproject.com/Articles/25185/WinINet-Test-Application

+0

+1 pour votre nom d'utilisateur – jglouie

+0

Quand je lance mon code je lance renifleur et semble que seulement le certificat est téléchargé .... et oui j'utilise le certificat auto-généré. Avec ces drapeaux ignorés, il devait fonctionner mais pas .... – VisaToHell