Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2008, 05:30   #1
Jolyk
 
Регистрация: 04.06.2008
Сообщений: 7
По умолчанию SSL через WinSock или через что?

Обычно коннекчусь с помощью компании WSAstarup socket conect send recv. Но как через это к SSL подключиться не понимаю. Надо чтоб для меня это шифрование прозрачно было.
Jolyk вне форума Ответить с цитированием
Старый 07.06.2008, 16:47   #2
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

WinSock не имеет отношения к SSL, так же, как не имеет отношения к HTTP, FTP и другим протоколам верхних уровней.

Есть трудный путь:
http://www.openssl.org/
http://msdn.microsoft.com/en-us/libr...52(VS.85).aspx

Есть простой:
Код:
#include <windows.h>
#include <wininet.h>
#include <stdio.h>

#pragma comment (lib, "wininet")

const TCHAR cAgent[]		= TEXT("Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US)");
//const TCHAR cURL[]			= TEXT("http://www.example.com/");
//const TCHAR cURL[]			= TEXT("https://login.yahoo.com/");
const TCHAR cURL[]			= TEXT("https://www.google.com/accounts/ServiceLoginAuth");

const TCHAR cFileName[]		= TEXT("c:\\testfile.htm");

char buf[4096];

int main()
{
	HINTERNET hInternet;
	hInternet = InternetOpen(
					cAgent, 
					INTERNET_OPEN_TYPE_PRECONFIG,
					NULL,
					NULL,
					0);
	if(hInternet){
		HINTERNET hUrl;
		hUrl = InternetOpenUrl(
						hInternet, 
						cURL, 
						NULL, 
						0, 
							INTERNET_FLAG_RELOAD 
							| INTERNET_FLAG_IGNORE_CERT_CN_INVALID 
							| INTERNET_FLAG_IGNORE_CERT_DATE_INVALID,
						NULL);
		if(hUrl){
			HANDLE hFile = CreateFile(
								cFileName, 
								GENERIC_WRITE, 
								0,
								NULL,
								CREATE_ALWAYS,
								FILE_ATTRIBUTE_NORMAL,
								NULL);
			if(hFile){
				DWORD dwRead;
				DWORD dwWritten;
				
				printf("File '%s' created successuflly\n", cFileName);
				do{
					if(InternetReadFile(hUrl, buf, sizeof(buf), &dwRead)){
						if(dwRead > 0){
							if(WriteFile(hFile, buf, dwRead, &dwWritten, NULL)){
								printf("%d bytes written\n", dwWritten);
							}
							else {
								puts("Error writing file.");
								break;
							}
						}
					}
					else {
						puts("Error loading webpage");
						break;
					}
				} while (dwRead > 0);
				
				CloseHandle(hFile);
				printf("File '%s' written successfully\n", cFileName);
			}
			else printf("Can't create file '%s'\n", cFileName);
			InternetCloseHandle(hUrl);
		}
		else puts("Can't access URL.");
		InternetCloseHandle(hInternet);
	}
	else puts("Can't create internet connection");
	
	getchar();
	return 0;
}
B_N вне форума Ответить с цитированием
Старый 07.06.2008, 17:37   #3
Jolyk
 
Регистрация: 04.06.2008
Сообщений: 7
По умолчанию

Да мне не надо к https службе. Мне бы пакеты покидать. С секюрным pop3, например, побазарить. Надеюсь pop3 там как обычно, только вот прослойка нужна. Что-то сложно так все...
Jolyk вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подключение через BDE kate158 Помощь студентам 3 18.08.2008 13:47
через какую сетевую карту входить в инет, а через какую в лан шКОЛЯР Свободное общение 2 27.06.2008 17:55
Вывод через Int 10h braun Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 11.11.2007 17:46
Sms через Delphi delphin100 Общие вопросы Delphi 1 26.09.2007 18:40
Help!!! диплом через 2 дня!!!! WinD Помощь студентам 3 23.06.2007 20:21