Форум программистов CodeGuru
19 Сентябрь 2018, 00:05:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: winInet + сертификат  (Прочитано 20926 раз)
0 Пользователей и 1 Гость смотрят эту тему.
aRDee
Новичок
*
Офлайн Офлайн

Сообщений: 1


Просмотр профиля
« : 26 Август 2008, 12:32:17 »

Каким образом отправляется сертификат?
Пока сам разобрал, что есть два способа выбора сертификата: через диалог похожий на IExplorer'овский и мануально так сказать из хранилищ... Интересен был бы пример кода(с++) отправки сертификата серверу.
Пока приложение забирает через http, https без сертификата...
так что... как то так.
Записан
3V
Администратор
Ветеран
*****
Офлайн Офлайн

Сообщений: 1347



Просмотр профиля WWW
« Ответ #1 : 28 Август 2008, 21:01:02 »

Думается мне, что это делается через InternetSetOption с флагом INTERNET_OPTION_CLIENT_CERT_CONTEXT.
В качестве буффера надо передавать указатель на структуру CERT_CONTEXT - контекст сертификата.
Ну и, конечно же, в HttpOpenRequest передавать INTERNET_FLAG_SECURE.

Насчет работы с сертификатами смотреть функции:
Код:
CertCreateCertificateContext
CertEnumCertificatesInStore
CertFindCertificateInStore
CertFreeCertificateContext
CertGetIssuerCertificateFromStore
CertGetSubjectCertificateFromStore
и пр.

Да, еще при работе через https, ssl там еще в HttpOpenRequest можно передавать флаги INTERNET_FLAG_IGNORE_CERT_CN_INVALID и INTERNET_FLAG_IGNORE_CERT_DATE_INVALID.

Как то так.
Я с WinInet давно уже не работал - забыл все Улыбка
Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!