Название: QCA::isSupported возвращает false Отправлено: Eretic от Октябрь 02, 2012, 19:28 Приветствую всех кто зашёл в темку.
Помогите решить проблему. Пример с http://delta.affinix.com/docs/qca/ciphertest_8cpp-example.html (http://delta.affinix.com/docs/qca/ciphertest_8cpp-example.html) Код: if(!QCA::isSupported("aes128-cbc-pkcs7")) Система Ubuntu. Скачал и поставил qca-2.0.3.tar.bz2. Далее скачал и поставил qca-ossl-2.0.0-beta3.tar.bz2. QtCreator добавил получившиеся библиотеки (libqca.so и libqca-ossl.so). Ошибка воспроизводится. Положил libqca-ossl.so в папку с прогой. Ошибка воспроизводится. В репозитории Ubuntu нашёл QCA. Поставил. Написано: Цитировать QCA OSSL plugin for libqca2 This plugin provides features based on OpenSSL. It implements: * Hashing - SHA1, SHA0, RIPEMD160, MD2, MD4, MD5 * Hashing - SHA224, SHA256, SHA384 and SHA512 (for openssl 0.9.8) * Block Ciphers * Keyed Hash Message Authentication Code (HMAC), using SHA1, MD5, RIPEMD160 * Public keys - RSA, DSA, Diffie-Hellman Попробовал изменить aes128-cbc-pkcs7 на pkey. Ошибка воспроизводится. Что не так я делаю? Заранее спасибо. Название: Re: QCA::isSupported возвращает false Отправлено: Eretic от Октябрь 02, 2012, 22:38 Странно что sha1 возвращает true.
Откуда вообще QCA::isSupported берёт значения? Как и где ищет нужные плагины? Название: Re: QCA::isSupported возвращает false Отправлено: Eretic от Октябрь 03, 2012, 10:17 Проблему решил. Debug всему голова :) Опишу может кому пригодится.
Медот QCA::isSupported ищет плагины в 2ух папках. Код: const QStringList dirs = QCoreApplication::libraryPaths(); Цитировать dirs <2 элемента> QStringList Далее следующий код смотрит необходимую поддиректорию:
Код: QDir dir(libpath.filePath(PLUGIN_SUBDIR)); Создаём директорию crypto в /my user folder/QtSDK/Desktop/Qt/4.8.1/gcc/plugins и кидаем туда libqca-ossl.so Qt находит эту либу, понимает что это: Цитировать className "opensslPlugin" QString providerName "qca-ossl" QString Далее всё работает. Спасибо. |