diff --git a/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java b/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java
index b13de0ce9f0cced50446310bcdb14f392d023088..541f0b66cfddab0a2bdab26490189c95259fc64d 100644
--- a/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java
+++ b/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java
@@ -1,5 +1,8 @@
 package de.thm.arsnova.socket;
 
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.InputStream;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -29,6 +32,9 @@ public class ARSnovaSocketIOServer {
 	private final Map<String, User> session2user = new ConcurrentHashMap<String, User>();
 	
 	private int portNumber;
+	private boolean useSSL = false;
+	private String keystore;
+	private String storepass;
 	private final Configuration config;
 	private SocketIOServer server;
 
@@ -45,6 +51,15 @@ public class ARSnovaSocketIOServer {
 		
 		config.setPort(portNumber);
 		config.setHostname("0.0.0.0");
+		if(useSSL) {
+			try {
+				InputStream stream = new FileInputStream(keystore);
+				config.setKeyStore(stream);
+				config.setKeyStorePassword(storepass);
+			} catch(FileNotFoundException e) {
+				logger.error("Keystore {} not found on filesystem", keystore);
+			}
+		}
 		server = new SocketIOServer(config);
 
 		server.addEventListener("setFeedback", Feedback.class,
@@ -99,6 +114,33 @@ public class ARSnovaSocketIOServer {
 		this.portNumber = portNumber;
 	}
 
+	public String getStorepass() {
+		return storepass;
+	}
+
+	@Required
+	public void setStorepass(String storepass) {
+		this.storepass = storepass;
+	}
+
+	public String getKeystore() {
+		return keystore;
+	}
+
+	@Required
+	public void setKeystore(String keystore) {
+		this.keystore = keystore;
+	}
+
+	public boolean isUseSSL() {
+		return useSSL;
+	}
+
+	@Required
+	public void setUseSSL(boolean useSSL) {
+		this.useSSL = useSSL;
+	}
+
 	public boolean authorize(String session, User user) {
 		return session2user.put(session, user) != null;		
 	}
diff --git a/src/main/webapp/WEB-INF/spring/spring-main.xml b/src/main/webapp/WEB-INF/spring/spring-main.xml
index d59b0ac6359bf167449a03ba51b00bc37ac2957e..e70b05bc17ef33bf7b523015e762ae8015cd142f 100644
--- a/src/main/webapp/WEB-INF/spring/spring-main.xml
+++ b/src/main/webapp/WEB-INF/spring/spring-main.xml
@@ -27,6 +27,9 @@
 	<context:annotation-config />
 
 	<bean id="socketServer" class="de.thm.arsnova.socket.ARSnovaSocketIOServer" init-method="startServer" destroy-method="stopServer" scope="singleton"
-		p:portNumber="18018" />
+		p:portNumber="10443"
+		p:useSSL="${security.ssl}"
+		p:keystore="${security.keystore}"
+		p:storepass="${security.storepass}" />
 
 </beans>
diff --git a/src/main/webapp/config.properties b/src/main/webapp/config.properties
new file mode 100644
index 0000000000000000000000000000000000000000..5042b97f53891874e9de056924dbaef1330a124f
--- /dev/null
+++ b/src/main/webapp/config.properties
@@ -0,0 +1,19 @@
+security.arsnova-url=http://localhost:8080
+security.cas-server-url=https://cas.thm.de/cas
+
+security.facebook.key=318531508227494
+security.facebook.secret=e3f38cfc72bb63e35641b637081a6177
+
+security.twitter.key=PEVtidSG0HzSrxVRPpsCXw
+security.twitter.secret=mC0HOvxiEgqwdDWCcDoy3q75nUQPu1bYRp1ncHWGd0
+
+security.google.key=110959746118.apps.googleusercontent.com
+security.google.secret=CkzUJZswY8rjWCCYnHVovyGA
+
+security.ssl=false
+security.keystore=/etc/arsnova.thm.de.jks
+security.storepass=arsnova
+
+couchdb.host=localhost
+couchdb.port=5984
+couchdb.name=arsnova
\ No newline at end of file