Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
MAX: starterkit.ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:1
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:2
Форум » starterkit.ru » Embedded Linux
Пакеты конфигурации Buildroot для работы с SMTP+SSL
OMu4KA
Добавлено 18.08.2021 16:45
0
Сообщение: 1
OMu4KA
0

Пункты: 340
Регистрация: 12.11.2018
Здравствуйте.
Работаю с платой SK-iMX6S-OEM-Ind.

В своей программе использую исходный код библиотеки "SMTP Client for Qt (C++) - Version 1.1" (https://github.com/bluetiger9/SmtpClient-for-Qt).

Программа выдает ошибку при попытке создания сокета объекта с поддержкой SSL:
socket = new QSslSocket(this);

При этом класс:
socket = new QTcpSocket(this);
создается без проблем.

Класс QSslSocket берет из файла:
/home/user/src/buildroot-2014.08-sk-3.10.17/output/host/usr/arm-buildroot-linux-gnueabihf/sysroot/usr/include/qt5/QtNetwork/qsslsocket.h

Возможно, не хватает библиотек для поддержки SSL в конфигурации самого устройства?
Подскажите, пожалуйста.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 18.08.2021 18:44 Сообщение: 2
sasamy
4.71

Пункты: 336
Регистрация: 14.08.2009
Цитата

Возможно, не хватает библиотек для поддержки SSL в конфигурации самого устройства?


в дефолтном конфиге imx6sk_qt5gst_defconfig openssl включена так что конфигуратор Qt должен обнаруживать её и собирать код для её поддержки в Qt, меня смущает то что по вашей ссылке написано

Цитата

The SmtpClient for Qt is small library writen for Qt 4 (C++ version


в штатном конфиге Qt 5
Спуститься к концу Подняться к началу
Персональная информация
OMu4KA
Добавлено 20.08.2021 15:27 Сообщение: 3
OMu4KA
0

Пункты: 340
Регистрация: 12.11.2018
Цитата

в дефолтном конфиге imx6sk_qt5gst_defconfig openssl включена так что конфигуратор Qt должен обнаруживать её и собирать код для её поддержки в Qt, меня смущает то что по вашей ссылке написано

Цитата

The SmtpClient for Qt is small library writen for Qt 4 (C++ version


в штатном конфиге Qt 5


Спасибо за ответ.
Компиляция кода SmtpClient проходит нормально.
Но команда:
((QSslSocket*) socket)->connectToHostEncrypted(host, port);
вызывает ошибку:
"The issuer certificate of a locally looked up certificate could not be found".

Подскажите, пожалуйста, как установить на устройство сертификат?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 22.08.2021 12:26 Редактировалось 22.08.2021 12:27 Сообщение: 4
sasamy
4.71

Пункты: 336
Регистрация: 14.08.2009
Цитата

Подскажите, пожалуйста, как установить на устройство сертификат?


make menuconfig

Libraries --->
Crypto --->
[*] CA Certificates

и на плате надо чтобы дата была правильная, например установить вручную

# date -s 2021.08.22-10:30:00
Sun Aug 22 10:30:00 UTC 2021
Спуститься к концу Подняться к началу
Персональная информация
OMu4KA
Добавлено 23.08.2021 09:31 Редактировалось 23.08.2021 09:34 Сообщение: 5
OMu4KA
0

Пункты: 340
Регистрация: 12.11.2018
Большое спасибо :-)
А дальше?
Как создать сертификат для почты?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 23.08.2021 15:37 Сообщение: 6
sasamy
4.71

Пункты: 336
Регистрация: 14.08.2009
Цитата

А дальше?


дальше должно работать
Спуститься к концу Подняться к началу
Персональная информация
OMu4KA
Добавлено 23.08.2021 16:00 Сообщение: 7
OMu4KA
0

Пункты: 340
Регистрация: 12.11.2018
Спасибо, заработало!
Ящик Gmail потребовал включить "Небезопасные приложения разрешены". :-)
Спуститься к концу Подняться к началу
Персональная информация
OMu4KA
Добавлено 13.08.2026 11:55 Редактировалось 13.08.2026 13:07 Сообщение: 8
OMu4KA
0

Пункты: 340
Регистрация: 12.11.2018
Добрый день.

Работаю с модулем SK-iMX6S-OEM-Ind.
Возник вопрос при разработке программы на Qt5, использующей SMTP+SSL.

Первое обращение к библиотеке SSL (bool sup=QSslSocket::supportsSsl();) всегда вызывает сигнал от операционной системы "SIGILL illegal instruction", хотя потом объект QSslSocket создается нормально, письма отправляются. Что с этим делать?

BR2_PACKAGE_OPENSSL=y
BR2_PACKAGE_LIBSOUP_SSL=y
BR2_PACKAGE_CA_CERTIFICATES=y
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 13.08.2026 18:27 Сообщение: 9
sasamy
4.71

Пункты: 336
Регистрация: 14.08.2009
Цитата

Первое обращение к библиотеке SSL (bool sup=QSslSocket::supportsSsl();) всегда вызывает сигнал от операционной системы "SIGILL illegal instruction", хотя потом объект QSslSocket создается нормально


это при запуске под отладчиком ? похоже на то что openssl определяет тип процессора при первом запуске, а еще вызов QSslSocket::supportsSsl() не рекомендован к использованию

https://runebook.dev/en/docs/qt/qsslsocket/supportsSsl
Спуститься к концу Подняться к началу
Персональная информация
OMu4KA
Добавлено 18.08.2026 16:25 Редактировалось 18.08.2026 16:27 Сообщение: 10
OMu4KA
0

Пункты: 340
Регистрация: 12.11.2018
Цитата

это при запуске под отладчиком ? похоже на то что openssl определяет тип процессора при первом запуске, а еще вызов QSslSocket::supportsSsl() не рекомендован к использованию

https://runebook.dev/en/docs/qt/qsslsocket/supportsSsl


Да, с отладчиком. При создании ssl-сокета тоже сигнал вызывает. То есть, это не мешает работе приложения?
Спасибо!

Тогда еще вопросик: в билдруте buildroot-2014.08-sk-3.10.17 есть только ssl 3? Tls не работает? Работаю с самоподписанным сертификатом.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux