OpenSSL/Crypto + Qt (DES-Verschl.)

Alles rund um die Programmierung mit Qt
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Hm aber die Plug-Ins wollen nicht. Er meckert immer das ein Interface fehle würde. Was ich auch in der tat nirgend finden kann.
Saiyaman
Beiträge: 111
Registriert: 20. Mai 2005 13:52

Beitrag von Saiyaman »

Wo hast du die Plugins runtergeladen?

MfG
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

die sind doch dabei. unter dem ober Order Plug-ins-
Ich habe mir das ganze per svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/qca runtergeladen
Saiyaman
Beiträge: 111
Registriert: 20. Mai 2005 13:52

Beitrag von Saiyaman »

Ich kann keine "svn"-URL öffnen. Was muss ich tun? :D

MfG

Edit: Ich arbeite unter Windows XP.
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Dann gehe auf http://tortoisesvn.tigris.org/
und lad dir den SVN Client runter. Der ist sogar schön bunt:)
Saiyaman
Beiträge: 111
Registriert: 20. Mai 2005 13:52

Beitrag von Saiyaman »

Yeah, bunt! Das mach ich doch glatt. ;)

MfG
Saiyaman
Beiträge: 111
Registriert: 20. Mai 2005 13:52

Beitrag von Saiyaman »

BartSimpson hat geschrieben:Hm aber die Plug-Ins wollen nicht. Er meckert immer das ein Interface fehle würde. Was ich auch in der tat nirgend finden kann.
Die qca_plugin.h fehlt leider bei den includes. Was tun?

MfG
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

I schätze mal das ganze ist noch ziemlich beta und muss noch etwas reifen:(
Saiyaman
Beiträge: 111
Registriert: 20. Mai 2005 13:52

Beitrag von Saiyaman »

Deswegen müsste es noch aber funktionieren.

MfG
prof_maad
Beiträge: 40
Registriert: 25. September 2005 14:33
Wohnort: /root/

Beitrag von prof_maad »

So, nachdem nun keiner die PlugIns ans laufen bekommen hat, hier ne kleine Anleitung für WinDoof (bei mir hats so gefunzt):

1. Aktuellen Trunk per SVN laden (siehe oben)
2. im entstandenen QCA-Verzeichnis qmake ausführen
3. make ausführen
4. irgendwann bricht make mit dem Fehler ab, dass die Lib libqca nicht gefunden werden kann.
Einfach in den lib-ordner im QCA-Verzeichnis wechseln und die dort vorhandenen linqca2 kopieren und die Kopie in linqca umbenennen
5. wieder make
6. make bricht nach ner weile wieder ab, es sei denn ihr habt die Qt-Debug-Libs drauf.
Ist allerdings unwichtig, die Libs von QCA sind zu diesem Zeitpunkt schon fertig gekompelt, nur die examples noch nicht, und die sind erstmal unwichtig.
7. Kopieren:
a) das gesamte QCA-Verzeichnis in nen passenden Ordner packen (bei mir z.B.: "C:/Qt/qca"
b) die *.dll ausm lib-ordner ins Qt-bin-Verzeichnis kopieren (z.b.: C:/Qt/4.1.1/bin)
8. Die Datei crypto_win.prf im QCA-Verzeichnis mitm Editor öffnen und die Zeile "QCA_PREFIX" auf das Verzeichnis ändern, in das ihr QCA geschoben habt.
Außerdem den Eintrag "LIBS += -lqca" in "LIBS += -lqca2" ändern
9. Die veränderte crypto_win.prf in crypto.prf umbennenen und in das Verzeichnis "mkspecs\features" im Qt-Verzeichnis packen.
(also z.B.: "C:\Qt\4.1.1\mkspecs\features")
10. im QCA-Verzeichnis in das Unterverzeichnis "plugins" und dort ins Unterverzeichnis "qca-openssl" wechseln.
11. Die Datei "qca-openssl.pro" anpassen.
Folgende Zeilen müssen geändert werden:
"CONFIG += debug" nach "CONFIG += release" (es sei denn, ihr habt die Qt-Debug-Libs)
"OPENSSL_PREFIX" auf den Ort eurer OpenSSL-Installation legen (falls ihr OpenSSL nicht installiert habt: http://www.slproweb.com/products/Win32OpenSSL.html für die Windows-Installer [soweit ich weis braucht QCA Version 0.97?])
12. nun im qca-openssl-Verzeichnis qmake und make
13. die entstandene Lib muss in ein Unterverzeichnis namens "crypto" im Verzeichnis der EXE eures Programms, damit dieses sie findet.


So, dass sollte es eigentlich sein.

Viel Spaß damit und Entschuldigung für die Form, musste schnellgehen, solange ich das noch alles im Kopf hatte.

Ciao,

Prof. MAAD
Saiyaman
Beiträge: 111
Registriert: 20. Mai 2005 13:52

Beitrag von Saiyaman »

Toll, er findet die OpenSSL libs nicht.

Code: Alles auswählen

C:\Qt\qca\plugins\qca-openssl>qmake

C:\Qt\qca\plugins\qca-openssl>make
make -f Makefile.Release
make[1]: Entering directory `C:/Qt/qca/plugins/qca-openssl'
g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runt
ime-pseudo-reloc -Wl,-s -Wl,-s -shared -Wl,--out-implib,release\libqca-openssl.a
 -o "release\qca-openssl.dll" release\qca-openssl.o  -L"c:\Qt\4.1.4\lib" -LC://O
penSSL//lib -llibeay32 -lssleay32 -lgdi32 -lwsock32 -LC://Qt/qca/lib -lqca2 -lQt
Core4
C:\Programme\Dev-Cpp\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe
: cannot find -llibeay32
collect2: ld returned 1 exit status
make[1]: *** [release\qca-openssl.dll] Error 1
make[1]: Leaving directory `C:/Qt/qca/plugins/qca-openssl'
make: *** [release] Error 2
Was ist an der qca-openssl.pro noch falsch?

Code: Alles auswählen

CONFIG += release
#CONFIG += debug

TEMPLATE = lib
CONFIG += plugin
QT -= gui
CONFIG += crypto

SOURCES = qca-openssl.cpp
#SOURCES += main.cpp

windows:{
	# hardcoded openssl location
	OPENSSL_PREFIX = C://OpenSSL
	DEFINES += OSSL_097

	INCLUDEPATH += $$OPENSSL_PREFIX/include
	LIBS += -L$$OPENSSL_PREFIX/lib
	LIBS += -llibeay32 -lssleay32        
	LIBS += -lgdi32 -lwsock32
}

include(conf.pri)
wenn ich "-llibeay32" durch "-leay32" ersetze, findet er wenigstens die erste. Aber bei der zweiten kann ich ja nicht das "ssl" weglassen, weil dann ja die gleiche Lib wie zuvor rauskommen würde.

MfG
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Ich werde wenn ich etwas mehr Zeit habe, eine neue lib für Qt bauen, welche auf openSSL aufbaut. Dass jetzt ewig friemeln bis das geht ist mir zu blöd.
Saiyaman
Beiträge: 111
Registriert: 20. Mai 2005 13:52

Beitrag von Saiyaman »

Eigentlich gibt's ja nur noch diese kleine Hürde hier :D

MfG
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Ich hatte ihn zwar soweit bekommen das er alle libs findet. Aber ein brauchbares Programm kam doch nicht raus:(
ich würde es statt mit -L$$OPENSSL_PREFIX/lib den kompletten pfad zur OpenSSL lib angeben.
Saiyaman
Beiträge: 111
Registriert: 20. Mai 2005 13:52

Beitrag von Saiyaman »

Joa. Dann findet er die zwar, aber es kommen viieeeele "undefined reference to"-Fehlermeldungen beim Linken ;)

MfG
Antworten