|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.11.2009, 12:29 | #1 |
Регистрация: 26.09.2009
Сообщений: 6
|
HttpSendRequest ERROR_INTERNET_SECURITY_CHANNEL_ERR OR 12157
Доброго времени суток
Согласно ТЗ необходимо обеспечить полнофункциональный диалог с сервером. Причем сервер использует "закрытый" сертификат. Сертификат был получен и установлен. При работе через браузер соединение проходит успешно. При установке соединения SSL сервер выдает дополнительный запрос для авторизации. Ответ на который должен быть POST определенных данных. Примечание: В ТЗ указано, что должна быть возможность посылать через указанный порт, поэтому не используем стандартный INTERNET_DEFAULT_HTTPS_PORT Код Код:
Но при соединении с сервером с "закрытым" сертификатом вылетает ошибка ERROR_INTERNET_CLIENT_AUTH_CERT_NEE DED 12044 сертификат получен и установлен |
05.11.2009, 12:33 | #2 |
Регистрация: 26.09.2009
Сообщений: 6
|
Re: ERROR_INTERNET_CLIENT_AUTH_CERT_NEE DED 12044
Два способа решения ошибки ERROR_INTERNET_CLIENT_AUTH_CERT_NEE DED 12044
Первый: Выведением окна с выбором сертификата Код:
Код:
|
05.11.2009, 12:53 | #3 |
Регистрация: 26.09.2009
Сообщений: 6
|
Re: ERROR_INTERNET_CLIENT_AUTH_CERT_NEE DED (решено)
После всего этого мы получаем данные для повторной авторизации.
Отправляем данные сформированные из полученных с сервера методом POST. Опять вылетает ошибка ERROR_INTERNET_CLIENT_AUTH_CERT_NEE DED 12044. Снова вылетает окно с выбором сертификата, или не вылетает (если вторым способом) и опять данные авторизации. Попробовала установить сертификат принудительно перед запросом HttpSendRequest Код:
Код:
Код:
Судя по данным pCert->pCertInfo выбирается нужный сертификат Кто может подсказать решение проблемы? Дополнительно сообщу, что m_hConnect и m_hInternet создается только при первом запросе, потом используется поэтому потеря сессии и создание новой не является причиной ошибки. Последний раз редактировалось linkersites; 05.11.2009 в 13:02. Причина: Забыла сказать по m_hConnect и m_hInternet ! |
08.11.2009, 10:45 | #4 |
Регистрация: 26.09.2009
Сообщений: 6
|
CertFindCertificateInStore решение
Для решения проблемы ERROR_INTERNET_SECURITY_CHANNEL_ERR OR 12157 нужно воспользоваться CertFindCertificateInStore Function (Windows).
Код:
Код:
В конце работы необходимо очистить m_hSystemStore Код:
|
08.11.2009, 11:11 | #5 |
Регистрация: 26.09.2009
Сообщений: 6
|
К сожаление так и не найден ответ. Теперь страницы получаем минуя этап ERROR_INTERNET_CLIENT_AUTH_CERT_NEE DED 12044. Сервер сразу выдает страницу авторизации. После отправки на него POST, тот же самый результат. Данные авторизации хранятся в сессии SSL, как их сохранят и получить так и не разобралась.
Может подскажете где копать? |