![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Rocky |
![]()
Сообщение
#1
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: ![]() ![]() ![]() |
Все привет! Если кто знает, подскажите пожалуйста, как работать с certificates? Вот например. Я сделал запрос через QNetworkAccessManager. Соединил сигнал sslErrors со своим слотом. Захожу на какой-то сайт через https. А дальше как? Если у этого домена есть сертификат, я должен вывалиться в слот, соединенный с сигналом sslErrors, у QNetworkReply взять сертификат и проверить его? А как проверять... и главное с чем сравнивать? В программе должна быть база данных сертификатов? Просто дали задание, а как тут быть неясно....
Огромное спасибо за любую информацию! |
|
|
![]() |
PAFOS |
![]()
Сообщение
#2
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 258 Регистрация: 27.12.2010 Из: Дмитров Пользователь №: 2309 Спасибо сказали: 29 раз(а) Репутация: ![]() ![]() ![]() |
Самая распространенная ошибка при работе с сертификатом - когда сертификат подписан локально (т.е. НЕ через службу подписи
В этом случае браузеры выдают предупреждение мол так и так - сертификат неизвестно откуда и неизвестно кем подписан. В Qt - выполнение попадет в слот, с ошибкой QSslError::HostNameMismatch Как поступить - решать Вам, если вызовете слот ignoreSslError() тогда соединение продолжится. Получить сертификат можно с помощью метода QSslCertificate QSslError::certificate () const Его безусловно можно сравнить с любым другим ( bool QSslCertificate::operator== ( const QSslCertificate & other ) const ). Вот) З.Ы. повторю - это лишь одна из множества ошибок) |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 2.3.2025, 4:42 |