From 6641a952dc00bdd6fdabcd017c7f656e854ae649 Mon Sep 17 00:00:00 2001 From: Georg Hopp Date: Thu, 10 Oct 2013 23:46:43 +0100 Subject: [PATCH] now dummy self signed certificates are generated during build and installed, so ssl works with the installed taskrambler --- Makefile.am | 9 ++++++--- config/Makefile.am | 12 ++++++++++++ config/openssl.cnf | 19 +++++++++++++++++++ configure.ac | 1 + src/server/server.c | 4 ++-- 5 files changed, 40 insertions(+), 5 deletions(-) create mode 100644 config/Makefile.am create mode 100644 config/openssl.cnf diff --git a/Makefile.am b/Makefile.am index 93dc475..a2066e3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -5,9 +5,12 @@ ACLOCAL_AMFLAGS = -I m4 #create_token_LDADD = src/libtoken.la $(LIBOBJS) #create_token_CFLAGS = -Wall -I include -EXTRA_DIST = include certs assets config run +EXTRA_DIST = include certs assets run -myetc_DATA = config/mime.types config/taskrambler.conf +myetc_DATA = config/mime.types \ + config/taskrambler.conf \ + config/taskrambler.pem \ + config/taskrambler.crt nobase_varlib_DATA = assets/html/example.html \ assets/html/_footer.html \ @@ -55,7 +58,7 @@ nobase_varlib_DATA = assets/html/example.html \ assets/style/common.css \ assets/favicon.ico -SUBDIRS = src tests docs +SUBDIRS = src tests docs config .PHONY: docs coverage-html diff --git a/config/Makefile.am b/config/Makefile.am new file mode 100644 index 0000000..abd9d45 --- /dev/null +++ b/config/Makefile.am @@ -0,0 +1,12 @@ +EXTRA_DIST = openssl.cnf taskrambler.conf.in mime.types + +taskrambler.pem: + openssl req -new -nodes -out taskrambler.csr -config openssl.cnf + +taskrambler.crt: + openssl req -new -x509 -key taskrambler.pem -out taskrambler.crt -config openssl.cnf + +all-local: taskrambler.pem taskrambler.crt + +clean-local: + rm -f taskrambler.csr taskrambler.pem taskrambler.crt diff --git a/config/openssl.cnf b/config/openssl.cnf new file mode 100644 index 0000000..ad89d77 --- /dev/null +++ b/config/openssl.cnf @@ -0,0 +1,19 @@ +[ req ] +prompt = no +default_keyfile = taskrambler.pem +default_bits = 2048 +distinguished_name = req_distinguished_name +x509_extensions = v3_ca + +[ req_distinguished_name ] +C = IE +O = Weird Web Workers +CN = Taskrambler Example +emailAddress = georg@steffers.org + +[ v3_ca ] +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always,issuer:always +#basicConstraints = critical,CA:true +basicConstraints = CA:true + diff --git a/configure.ac b/configure.ac index 2c56cac..3e07182 100644 --- a/configure.ac +++ b/configure.ac @@ -101,5 +101,6 @@ AC_CONFIG_FILES([Makefile src/user/Makefile src/config/Makefile docs/Makefile + config/Makefile tests/Makefile]) AC_OUTPUT diff --git a/src/server/server.c b/src/server/server.c index be73f61..fbaa836 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -83,12 +83,12 @@ serverCtor(void * _this, va_list * params) this->ctx = SSL_CTX_new(SSLv23_server_method()); SSL_CTX_use_certificate_file( this->ctx, - "./certs/server.crt", + CONFIGDIR "/taskrambler.crt", SSL_FILETYPE_PEM); SSL_CTX_use_RSAPrivateKey_file( this->ctx, - "./certs/server.key", + CONFIGDIR "/taskrambler.pem", SSL_FILETYPE_PEM); socketListen(this->sock, backlog);