2012-01-27 3 views
0

Кто-нибудь может дать мне пример использования SSL с API-интерфейсом wininet? Вот мой код, но не успех .....Использование SSL с 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); 

Спасибо заранее.

ответ

4

Для сайтов, использующих действительные сертификаты, вам не нужно делать ничего особенного, кроме указания URL https, конечно. Для самостоятельных сертификатов вам может потребоваться вручную установить центр сертификации на клиентской машине и/или предоставить некоторые флаги IGNORE.

Отличный способ устранения таких проблем - установить обратный вызов WININET. Это позволяет вам следить за тем, что WININET делает (или нет) во время общения.

Там пример (что лично я не использовал), как использовать его здесь:

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

+0

+1 для имени пользователя – jglouie

+0

Когда я запускаю мой код я запустить сниффер и кажется, что только сертификат загружается .... и да, я использую самогенерируемый сертификат. С этими игнорирующими флагами он должен был бежать, но нет. – VisaToHell

Смежные вопросы