Этот пример SSPI SChannel SMTPS должен компилироваться и запускаться в Visual Studio 2008 как
http://www.coastrd.com/c-schannel-smtp
SChannel - это реализация Microsoft GSS API, которая включает протокол SSL / TLS.
Преимущества использования SChannel:
- подробные сведения защищены от разработчика SSPI.
- Никаких дополнительных настроек для запуска финального приложения не требуется:
- SChannel является неотъемлемой частью операционной системы
- На платформах Windows ME / 2000 / XP / ... SChannel устанавливается и настраивается по умолчанию
- Вызовы SChannel соответствуют стандартам GSS API.
- Вам не нужно создавать / устанавливать какие-либо сертификаты
- нет сторонних dll (1 МБ или больше) для отправки и установки
Код должен создать сеанс, который выглядит следующим образом:
----- Инициализирован SSPI
----- WinSock Initialized
----- Инициализированные учетные данные
----- подключен к серверу
70 байт данных рукопожатия отправлено
Получено 974 байта данных рукопожатия
Отправлено 182 байта данных рукопожатия
Получено 43 байта данных рукопожатия
Рукопожатие прошло успешно
----- Выполнено рукопожатие клиента
----- Аутентифицированные учетные данные сервера
Тема сервера: C = США, S = Калифорния, L = Маунтин-Вью, O = Google Inc, CN = smtp.gmail.com
Эмитент сервера: C = ZA, S = Западный Кейп, L = Кейптаун, O = Thawte Consulting cc, OU = Отдел сертификационных услуг, CN = Thawte Premium Server CA, E=premium-server@thawte.com
----- Отображается цепочка сертификатов
----- Сертификат сервера проверен
----- выпущен контекст сертификата сервера
Протокол: TLS1
Шифр: RC4
Сила шифра: 128
Хеш: MD5
Хэш прочность: 128
Обмен ключами: RSA
Сила обмена ключами: 1024
----- Информация о безопасном соединении
64 байта полученных (зашифрованных) данных приложения
Расшифрованные данные: 43 байта
220 mx.google.com ESMTP 6sm17740567yxg.66
Отправка 7 байтов открытого текста:
EHLO
отправлено 28 байт зашифрованных данных
169 байтов полученных (зашифрованных) данных приложения
Расшифрованные данные: 148 байт
250-mx.google.com к вашим услугам, [22.33.111.222]
250-РАЗМЕР 35651584
250-8BITMIME
250-AUTH LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250 ТРУБОПРОВОДОВ
Отправка 7 байтов открытого текста:
ВЫЙТИ
28 байт отправленных зашифрованных данных
69 байтов полученных (зашифрованных) данных приложения
Расшифрованные данные: 48 байт
221 2.0.0 закрывающее соединение 6sm17740567yxg.66
----- SMTP-сессия завершена
Отправка Закрыть Уведомление
23 байта данных рукопожатия отправлено
----- Отключен от сервера
----- Начать уборку
----- все готово -----