Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt : 5.10.0 - Qt Creator : 4.5.0 - Qt Installer : 3.0.2 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

Tutoriel installation QCA avec plugin ossl pour Qt4 et Qt5 sur Windows

Installation de QCA (Qt Cryptographic Architecture) et du plugin ossl (pour faire du cryptage/décryptage AES128 par exemple).

Avec Qt4

Environnement :
* windows 7 pro 64bit
* Qt 4.8.5 MinGW

Installation de QCA :
* Télécharger le fichier source de QCA : http://delta.affinix.com/qca/
Perso, j'ai pris la version qca-2.0.3.tar.bz2 : http://delta.affinix.com/download/qca/2.0/qca-2.0.3.tar.bz2
* Décompresser le dossier source de QCA
Perso, cela me donne le dossier : C:\Qt_test\qca-2.0.3
Dedans ce touve par exemple :
* C:\Qt_test\qca-2.0.3\bin
* C:\Qt_test\qca-2.0.3\include
* C:\Qt_test\qca-2.0.3\lib
* etc
* Ouvrir le terminal QT :
Dans le menu "Démarré" puis "Qt by Digia v4.8.5 (MinGW OpenSource)" et enfin "Qt 4.8.5 Command Prompt"
* Aller à la racine du dossier de qca : C:\Qt_test\qca-2.0.3 dans mon cas
* Commande "cd .." dans le terminal QT pour remonter au dossier parent
* Commande "cd Qt_test" par exemple dans le terminal QT pour décendre dans le dossier enfant nommé Qt_test
* Exécuter les commandes suivantes :
configure --debug-and-release
qmake
make
installwin
QCA est maintemant installé.

Tester QCA :

Il est possible de tester son fonctionnement avec par exemple l'exemple md5crypt qui se trouve dans mons cas dans : C:\Qt_test\qca-2.0.3\examples\md5crypt
* Ouvrer le fichier md5crypt.pro avec QtCreator par exemple
* Ajouter 2 arguments d'execution du programme : dans "Projets" puis "Non_du_kit_qt" soit "Qt 4.8.5 (Mingw)" dans mon cas puis l'onglet "Exécuter" et enfin la ligne "Arguments". Ces 2 argument son le mot de passe et la chaine de caractère à codée. (Exemple à mettre "012012 maman" sans les guillemets)


Installation de OpenSSL (nécessaire au plugin ossl) :

Télécharger (sur https://slproweb.com/products/Win32OpenSSL.html) et installer OpenSSL. Perso j'ai instalé la version Win32 OpenSSL v1.0.1j disponible ici : http://slproweb.com/download/Win32OpenSSL-1_0_1j.exe dans le dossier C:\OpenSSL.
Ce qui donne après installation par exemple :
* C:\OpenSSL\bin
* C:\OpenSSL\include
Si le programme d'installation vous indique qu'il manque Microsoft Visual C++ 2008 Redistributable :
* de télécharger et installer cette version de Microsoft Visual C++ 2008 Redistributable Package (x86) que j'ai testé et utilisée : http://www.microsoft.com/downloads/en/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en
Existe aussi en 64bit mais pas testé : http://www.microsoft.com/downloads/details.aspx?familyid=bd2a6171-e2d6-4230-b809-9a8d7548c1b6
C'est la version 9.0.21022.
Si une erreur empèche l'installation :
OpenSSL utilise une version spécifique Microsoft Visual C++ 2008 Redistributable.
Il est recommendé :
* de désinstaller tous les Microsoft Visual C++ 2008 Redistributable déjà présent sur l'OS.
* de télécharger et installer cette version de Microsoft Visual C++ 2008 Redistributable Package (x86) que j'ai testé et utilisée : http://www.microsoft.com/downloads/en/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en
* Installer OpenSSL.
* Enfin de réinstaller (ou mettre à jour) les composants Microsoft Visual C++ 2008 Redistributable désinstallés précédamment.

Installation du plugin ossl :
* Télécharger le fichier source de QCA-ossl : http://delta.affinix.com/qca/
Perso, j'ai pris la version qca-ossl-2.0.0-beta3.tar.bz2 : http://delta.affinix.com/download/qca/2.0/plugins/qca-ossl-2.0.0-beta3.tar.bz2
* Décompresser le dossier source de qca-ossl
Perso, cela me donne le dossier : C:\Qt_test\qca-ossl-2.0.0-beta3
* Ouvrir le terminal QT :
Dans le menu "Démarré" puis "Qt by Digia v4.8.5 (MinGW OpenSource)" et enfin "Qt 4.8.5 Command Prompt"
* Aller à la racine du dossier de qca : C:\Qt_test\qca-ossl-2.0.0-beta3 dans mon cas
* Exécuter les commandes suivantes :
configwin rd
rd sont pour release et debug, il est possible de retirer l'un ou l'autre comme par exemple configwin r.
* Créer les dossiers suivant :
C:\local
C:\local\bin
C:\local\include
C:\local\lib
* Exécuter les commandes suivantes dans le terminal:
echo "WINLOCAL_PREFIX = C:/local" > %QTDIR%\mkspecs\features\winlocal.prf
* Copier le dossier C:\OpenSSL\include\openssl dans C:\local\include. Vous devriez avoir par exemple le fichier : C:\local\include\openssl\tls1.h
* Copier le contenu du dossier C:\OpenSSL\lib\MinGW dans le dossier C:\local\lib. Vous devriez avoir par exemple le fichier : C:\local\lib\libeay32.a
* Renommé les extensions des fichiers C:\local\lib\libeay32.a et C:\local\lib\ssleay32.a en respectivement C:\local\lib\libeay32.lib et C:\local\lib\ssleay32.lib
* Toujours à la racine du dossier de qca : C:\Qt_test\qca-ossl-2.0.0-beta3 , exécuter les commandes suivantes :
qmake
make
Des warning apparaitront durant le qmake mais ce n'est pas bloquant.
Perso "make" n'a pas fonctionné. J'ai été obligé de :
* Remplacer le fichier : C:\Qt_test\qca-ossl-2.0.0-beta3\qca-ossl.cpp par celui-ci : http://www.essentialunix.org/downloads/qca-ossl.cpp
* Exécuté "make"
Voila, le plugin est disponible dans C:\Qt_test\qca-ossl-2.0.0-beta3\lib dans mon cas.
Perso j'ai créer un dossier crypto dans C:\Qt\4.8.5\plugins pour y copier le contenu du dossier C:\Qt_test\qca-ossl-2.0.0-beta3\lib
Vous devriez avoir par exemple le fichier : C:\Qt\4.8.5\plugins\crypto\qca-ossl2.dll et C:\Qt\4.8.5\plugins\crypto\qca-ossld2.dll

Tester le plugin :
* Ouvrer et exécuter le projet exemple : C:\Qt_test\qca-2.0.3\examples\ciphertest\ciphertest.pro



SRC : http://qt.developpez.com/faq/?page=bibliotheques-qca
SRC : http://www.essentialunix.org/index.php?option=com_content&view=article&id=48%3aqcatutorial&catid=34%3aqttutorials&Itemid=53
SRC : https://bitcointalk.org/index.php?topic=7192.0
SRC : http://stackoverflow.com/questions/4609621/problem-installing-qca-ossl-part-of-the-qt-cryptographic-architecture-plugin-o
SRC : https://github.com/JPNaude/dev_notes/wiki/Using-the-Qt-Cryptographic-Architecture-with-Qt5


Avec Qt5

Environnement :
* windows 7 pro 64bit
* Qt 5.4.2 MinGW (fonctionne aussi sur Qt 5.5.0 MinGW)

Installation de QCA :

* Cloner le dépot GIT : git clone git://anongit.kde.org/qca.git
* Installer CMake : http://www.cmake.org/
* Exemple de résultat : CMake est installé dans C:\Program Files (x86)\CMake\bin\cmake.exe
* Ajouter (s'il n'y est pas) le chemin de CMake dans le PATH de Windows 7 : C:\Program Files (x86)\CMake\bin
et redémarrer windows.

* Ouvrir le terminal Qt (Qt 5.4 for Desktop (MinGW 4.9 32bit) :
* Aller à la racine du dossier de qca du dépot GIT : C:\Qt_test\qca-2.0.3 dans mon cas
* Rechercher le nom exact du generator pour CMake en exécutant : cmake --help
(ou pour ceux qui n'ont pas configuré leur PATH : C:\Progra~2\CMake\bin\cmake --help)
Résultat : CMake vous liste les générateurs disponibles :
"The following generators ...
...
Visual Studio 12 2013
MinGW Makefiles
...
"

* Comme j'utilise Qt 5.4.2 MinGW, je prend "MinGW Makefiles" donc
exécuter la commande suivante : cmake . -G"MinGW Makefiles"
ou pour ceux qui n'ont pas configuré leur PATH : C:\Progra~2\CMake\bin\cmake . -G"MinGW Makefiles")
* Compiler QCA en exécutant la commande suivante : mingw32-make
* Installer QCA en exécutant la commande suivante : mingw32-make install


Vérification de la présence du plugins qca-ossl :
* Dans le dossier bin/ de qca, exécuter la commande suivante : qcatool plugins
(dans mon cas C:\Qt_test\QCA_for_Qt5\qca\bin\qcatool plugins)
Résultat :
Available Providers:
qca-logger
qca-ossl
...

Essai :
* Ouvrir avec QtCreator le fichier "CMakeLists.txt" dans les sources de qca
* Compiler.
* Pour tester, exécuter l'exemple : ciphertest


SRC : https://github.com/JPNaude/dev_notes/wiki/Using-the-Qt-Cryptographic-Architecture-with-Qt5
SRC : http://florian-goujeon.developpez.com/cours/cmake/initiation/

Réponses

  • Merci pour le partage, ca me sera probablement utile un jour ! =)
  • Mise à jour avec l'ajout de l'installation avec QT5.
  • C'est toujours utile de pouvoir protéger ces données, grand merci à toi pour ceci...

    ;)
  • Je me mets tout ça sous le coude.
    D'ailleurs ce dernier commence à être tellement haut à force d'accumuler du code potentiellement utile, qu'il est difficile de le lever pour prendre l'apéro.
Connectez-vous ou Inscrivez-vous pour répondre.