diff --git a/radicale/__init__.py b/radicale/__init__.py index 2233946..c50e659 100644 --- a/radicale/__init__.py +++ b/radicale/__init__.py @@ -79,6 +79,16 @@ class HTTPSServer(HTTPServer): """Create server by wrapping HTTP socket in an SSL socket.""" super(HTTPSServer, self).__init__(address, handler, False) + # Test if the SSL files can be read + for name in ("certificate", "key"): + filename = config.get("server", name) + try: + open(filename, "r").close() + except IOError, (_, message): + log.LOGGER.warn( + "Error while reading SSL %s %r: %s" % ( + name, filename, message)) + self.socket = ssl.wrap_socket( self.socket, server_side=True,