SSL mit matrixssl und matrixtunnel

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
robspr1
Einsteiger
Einsteiger
Beiträge: 203
Registriert: Mittwoch 27. April 2005, 09:37

SSL mit matrixssl und matrixtunnel

Beitrag von robspr1 »

Für OpenWRT und für die Fritzbox gibt es eine SSL Variante die mit sehr wenig Platz auskommt. Zusätzlich zu SSL gibt es auch noch einen Wrapper um beliebige Ports "sicher" zu machen.

Das ganze benötigt auf der Fritzbox etwa 110 kB, wäre also auch für die dBox denkbar. Mögliche Anwendungen wären der Zugang via HTTPS oder für tuxmail die Möglichkeit auf SSL gesicherte Konten abzurufen.

Soweit das positive.

Ich hab jetzt zwar die Sourcen und olistudent vom IP-Phone Forum hat mir auch den configure-Aufruf für die Fritzbox geschickt, anscheinend schaffe ich es aber nicht, ein weiteres modul richtig im tuxbox Projekt einzubinden :oops: :gruebel: (bzw. habe ich einfach keine Ahnung wie man da richtig vorgeht)

Vielleicht hat ja einer der Imagebauer Zeit und Lust dazu ...
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

hi,

hilft dir das http://cvs.tuxbox.org/cgi-bin/viewcvs.c ... &view=auto weiter?

ciao,

ChakaZulu
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

link mal die sourcen irgendwohin dann schau ich es mir mal an.
du willst das in den makeprocess einbinden oder?
robspr1
Einsteiger
Einsteiger
Beiträge: 203
Registriert: Mittwoch 27. April 2005, 09:37

Beitrag von robspr1 »

@ChakaZulu

Danke, das könnte helfen, allerdings sind bei mir jetzt innerhalb einer Woche zwei Festplatten eingegangen, und auf diesen war tuxbox ausgecheckt und irgendwie hab ich derzeit Probleme das ganze überhaupt compilieren zu können, aber wird schon wieder werden.

@Houdini

Das wäre sehr schön wenn du das machen könntest.
MatrixSSL findest du hier, MatrixTunnel findest du hier, der Configure-Aufruf für die Fritzbox sieht so aus:

Code: Alles auswählen

( cd $(MATRIXTUNNEL_DIR); rm -f config.cache; \
		$(TARGET_CONFIGURE_OPTS) \
		CC="$(TARGET_CC)" \
		CFLAGS="$(TARGET_CFLAGS)" \
		CPPFLAGS="-I$(TARGET_MAKE_PATH)/../usr/include" \
		LDFLAGS="-L$(TARGET_MAKE_PATH)/../usr/lib -lpthread" \
		./configure \
		--target=$(GNU_TARGET_NAME) \
		--host=$(GNU_TARGET_NAME) \
		--build=$(GNU_HOST_NAME) \
		--program-prefix="" \
		--program-suffix="" \
		--prefix=/usr \
		--exec-prefix=/usr \
		--bindir=/usr/sbin \
		--datadir=/usr/share \
		--includedir=/usr/include \
		--infodir=/usr/share/info \
		--libdir=/usr/lib \
		--libexecdir=/usr/lib \
		--localstatedir=/var \
		--mandir=/usr/share/man \
		--sbindir=/usr/sbin \
		--sysconfdir=/etc \
		$(DISABLE_LARGEFILE) \
		$(DISABLE_NLS) \
		--without-libiconv-prefix \
		--without-libintl-prefix \
		--with-matrixssl-src="$(shell pwd)/$(MATRIXSSL_DIR)" \
	);
Edit: der Beitrag im ds-mod Wiki befasst sich damit.
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

das kommt ins cdk/Makefile:

Code: Alles auswählen

$(DEPDIR)/matrixssl: bootstrap Archive/matrixssl-1-8-3-open.tar.gz
	( rm -rf matrixssl-1-8-3-open || /bin/true ) && gunzip -cd Archive/matrixssl-1-8-3-open.tar.gz | TAPE=- tar -x && ( cd matrixssl-1-8-3-open; patch -p1 < ../Patches/matrixssl.diff )
	cd matrixssl-1-8-3-open/src && \
	$(BUILDENV) CROSS=$(target)- \
	$(MAKE) all && \
	cp -f libmatrixssl.so $(targetprefix)/lib
#	rm -rf matrixssl-1-8-3-open
	touch $@

$(DEPDIR)/matrixtunnel: bootstrap Archive/matrixtunnel-0.2.tar.gz
	( rm -rf matrixtunnel || /bin/true ) && gunzip -cd Archive/matrixtunnel-0.2.tar.gz | TAPE=- tar -x
	cd matrixtunnel && \
		$(BUILDENV) \
		./configure \
			--build=$(build) \
			--host=$(target) \
			--target=$(target) \
			--with-matrixssl-src=$(buildprefix)/matrixssl-1-8-3-open \
			--prefix= && \
	$(MAKE) all && \
	$(MAKE) install DESTDIR=$(targetprefix)
#	rm -rf matrixtunnel
	touch $@
matrixssl.diff:

Code: Alles auswählen

--- matrixssl/src/Makefile.orig	2007-02-07 15:38:41.000000000 +0100
+++ matrixssl/src/Makefile	2007-07-08 17:38:51.000000000 +0200
@@ -5,10 +5,10 @@
 #	Copyright (c) PeerSec Networks, 2002-2007. All Rights Reserved.
 #
 
-CC      = gcc
-STRIP   = strip
-AR      = ar
-RANLIB  = ranlib
+CC      = $(CROSS)gcc
+STRIP   = $(CROSS)strip
+AR      = $(CROSS)ar
+RANLIB  = $(CROSS)ranlib
 O       = .o
 SO      = .so
 A       = .a
da der automatische download von matrixssl nicht funktioniert hab ich mal keine rules.* geändert
robspr1
Einsteiger
Einsteiger
Beiträge: 203
Registriert: Mittwoch 27. April 2005, 09:37

Beitrag von robspr1 »

Danke euch beiden (einerseits für das Verstehen-Lernen wie man ein Projekt dazulinkt, andererseits für das fertige Beispiel).

libmatrixssl.so hat also 88kB, matrixtunnel 24kB

Ausprobiert hab ich das jetzt mit dem Webinterface, also ein Aufruf:

Code: Alles auswählen

matrixtunnel -A cert.pem -p server_key.pem -d 443 -r 80 -f -P /tmp/matrixssl.pid &
wobei ich einfach die Beispiel Serverschlüssel/Zertifikate aus matrixtunnel genommen habe.

Mit SPOP oder SIMAP muss ich erst testen, dazu muss ich mir erst einen entsprechenden Mailserver suchen...