crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Как работать с сертификатми?
Rocky
  опции профиля:
сообщение 24.12.2010, 15:28
Сообщение #1


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Все привет! Если кто знает, подскажите пожалуйста, как работать с certificates? Вот например. Я сделал запрос через QNetworkAccessManager. Соединил сигнал sslErrors со своим слотом. Захожу на какой-то сайт через https. А дальше как? Если у этого домена есть сертификат, я должен вывалиться в слот, соединенный с сигналом sslErrors, у QNetworkReply взять сертификат и проверить его? А как проверять... и главное с чем сравнивать? В программе должна быть база данных сертификатов? Просто дали задание, а как тут быть неясно....

Огромное спасибо за любую информацию!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Rocky
  опции профиля:
сообщение 27.12.2010, 22:23
Сообщение #2


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Круто, большое спасибо за ответ!!!

А как Большие Браузеры поступают?) Вот попался непонятный сертификат с какого-то сайта (просроченный, реально выданный другому хосту, untrusted и пр.). Они (Большие Браузеры) предупреждают об этом этом понятно. Если пользователь не хочет продолжать - то просто ничего не делаем... Если хочет, то я должен занести этот сертификат в локальную базу и потом когда снова вхожу на этот сайт - ищу в этой локальной базе его сертификат, и если нахожу, то вызываю ignoreSslErrors и радуюсь жизни? При этом как я понимаю, работать нужно примерно так (псевдокод):
slotSslErrors(QList<QSslError>& err....)
{
QList<QsslCertificate> certificates = err.certificates();//в цикле все сертификаты берем...

defConf = QSslConfiguration::defaultConfiguration();
defConf->setCaCertificates(certificates);
QSslConfiguration::setDefaultConfiguration(defConf);
}


И 2-й вариант... А если я например создаю базу доверенных хостов (вообще не заморачиваясь на сертификатах)... Зашел на сайт черз https, получил ошибки, увидел что сертификат левый - и по согласию пользователя добавил доменное имя хоста в список доверенных... И как бы все. Как на ваш взгляд наиболее правильно поступать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.4.2024, 11:27