Seite 1 von 3

OpenSSL/Crypto + Qt (DES-Verschl.)

Verfasst: 10. Mai 2006 19:46
von Saiyaman
Hi!

Ich möchte QString mittels (Triple)DES verschlüsseln und das Ergebnis in eine Datei packen. Dann möchte ich Schlüsseltext aus einer Datei einlesen und wieder Klartext (QString) draus machen.

Wie gehe ich das am besten an? Ich habe Qt 4.1.2 und OpenSSL lauffähig unter DevCpp. Also #include <openssl/des.h> geht ohne Probleme.

Momentan lese ich eine Datei so in den Speicher:

Code: Alles auswählen

QFile f(fi.absoluteFilePath());
    
    if (f.open(QIODevice::ReadOnly))
    {
		QByteArray array;
		array = f.readAll();
		f.close();
    }
Kann das erstmal so für Schlüssel- und Klartext bleiben? Wie verfahre ich weiter?

Sorry für so viele Fragen, aber die OpenSSL-Docs sind wirklich sehr dürftig.

MfG

Verfasst: 10. Mai 2006 20:08
von BartSimpson
#include <openssl/des.h> ist schon der 1. Fehler.
Die Doku zu openSSL ist in der Tat etwas dürftig.
Das ganze geht über eine arte Modul in openSSL
http://www.openssl.org/docs/crypto/EVP_EncryptInit.html#
Den String lesen und schreiben kannste in dem du dir eine eigne IODevice Klassen baust. Beispiel: http://doc.trolltech.com/qq/qq12-iodevice.html

Verfasst: 10. Mai 2006 20:24
von Saiyaman
Naja, dein Link zur Docu hat schon ein paar Beispiele. Allerdings steht da auch nix von #include o.ä.

Das mit dem eigenen QIODevice klingt interessant. Da werd ich mich ma durcharbeiten.

Gibt's mal so nebenbei noch ne andere Möglichkeit, die sich anbietet, um mit Qt einen QString per (Triple)DES zu verschlüsseln?

MfG

Verfasst: 11. Mai 2006 06:59
von prof_maad
Hi,

für Verschlüsselung unter Qt gibt es die Lib QCA - Qt Cryptographic Architecture.

Die stellt auch TripleDES zur Verfügung.

Die aktuelle Version (2.0 beta 2) für Qt 4 gibt es unter:
http://delta.affinix.com/download/qca/2.0/beta2/

Ich hoffe, das dir das was bringt.

Ciao,

Prof. MAAD

Verfasst: 11. Mai 2006 08:14
von Saiyaman
Cool! Ich wusste garned, dass es QCA auch halbwegs aktuell für QT4 gibt. *freu*

Besten Dank!

MfG

Verfasst: 11. Mai 2006 10:14
von BartSimpson

Verfasst: 11. Mai 2006 17:54
von Saiyaman
BartSimpson hat geschrieben:schau besser hier nach:
http://websvn.kde.org/trunk/kdesupport/qca/
Was bringt mir das? Ich brauch das erstmal kompiliert unter Windows :) (MinGW) und muss mir erstmal ein passendes Pro-File bauen. :-/

MfG

Verfasst: 11. Mai 2006 18:05
von BartSimpson
ich teste das gleich mal. wenn es nicht klappen sollte sage ich bescheit. Ich versuche es mit dem mingw32

Verfasst: 11. Mai 2006 18:08
von Saiyaman
Unter src/ hab ich ne pro gefunden, die auch für Windows eingerichtet wurde. Hat wunderbar geklappt. :)

MfG

Verfasst: 11. Mai 2006 18:17
von BartSimpson
ich habe einfach nur qmake make aufgefundne
wenn er jetzte fertig wird. Muss man nur noch das Plug-in für openSSL bauen:)

Verfasst: 11. Mai 2006 18:25
von Saiyaman
Ich will doch kein SSL sondern TripleDES.

Mir ist übrigens aufgefallen, dass QCA bei TripleDES nur einen Key haben will. Das ist doch aber falsch, da TripleDES 2 Key benötigt. Oder hab ich was übersehen?

MfG

Verfasst: 11. Mai 2006 18:35
von BartSimpson
Das mit dem SSL hat erst mal nix mit deiner Verschlüssluing zu tun.
Nachdem du die lib gebaut hast, muste noch das plug-in für die eigentliche Verschlüsselungslib bauen. soweit ich das verstehe.

Verfasst: 11. Mai 2006 18:39
von Saiyaman
Stimmt. Die Examples laufen nämlich dann nicht richtig. Aber wie mach ich das nu?

MfG

Verfasst: 11. Mai 2006 18:52
von BartSimpson
versuche gerade die Plug-ins zu bauen.

Verfasst: 11. Mai 2006 18:54
von Saiyaman
Bei mir ist nichmal der Source dafür dabei. Und auf deiner verlinkten Page gibts auch keinen Source.

MfG

Edit: Doch, dateiweise könnt ich mir das da ziehen.^^