Hi,
I have set up calendarserver on my Raspberry Pi (Raspbian~Debian) for personal usage. I wanted to handle all communications on a secure connection therefore, I do want to use SSL/TLS only. After I set up everything, I could browse the root directory on non-tls channel. Then I wanted to create a self-signed certificate to secure the connection. I had a pair of .pem and .key files, which I referenced in the configuration. I made sure, they are accessible. Then, I tried to "browse" the root directory again, but webpage never loaded (it was is being loaded for a very long time). Then I checked the error.log file and here what I have found:
2016-01-24 23:01:50+0100 [-] [caldav-1] [-] Unhandled Error
2016-01-24 23:01:50+0100 [-] [caldav-1] Traceback (most recent call last):
2016-01-24 23:01:50+0100 [-] [caldav-1] File "/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 73, in callWithContext
2016-01-24 23:01:50+0100 [-] [caldav-1] return context.call({ILogContext: newCtx}, func, *args, **kw)
2016-01-24 23:01:50+0100 [-] [caldav-1] File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
2016-01-24 23:01:50+0100 [-] [caldav-1] return self.currentContext().callWithContext(ctx, func, *args, **kw)
2016-01-24 23:01:50+0100 [-] [caldav-1] File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
2016-01-24 23:01:50+0100 [-] [caldav-1] return func(*args,**kw)
2016-01-24 23:01:50+0100 [-] [caldav-1] File "/usr/lib/python2.7/dist-packages/twisted/internet/selectreactor.py", line 149, in _doReadOrWrite
2016-01-24 23:01:50+0100 [-] [caldav-1] why = getattr(selectable, method)()
2016-01-24 23:01:50+0100 [-] [caldav-1] --- <exception caught here> ---
2016-01-24 23:01:50+0100 [-] [caldav-1] File "/usr/lib/python2.7/dist-packages/twext/internet/sendfdport.py", line 286, in doRead
2016-01-24 23:01:50+0100 [-] [caldav-1] transport = self.transportFactory(skt, description, protocol)
2016-01-24 23:01:50+0100 [-] [caldav-1] File "/usr/lib/python2.7/dist-packages/twext/web2/metafd.py", line 104, in createTransport
2016-01-24 23:01:50+0100 [-] [caldav-1] transport.startTLS(self.contextFactory)
2016-01-24 23:01:50+0100 [-] [caldav-1] File "/usr/lib/python2.7/dist-packages/twisted/internet/_newtls.py", line 179, in startTLS
2016-01-24 23:01:50+0100 [-] [caldav-1] startTLS(self, ctx, normal, FileDescriptor)
2016-01-24 23:01:50+0100 [-] [caldav-1] File "/usr/lib/python2.7/dist-packages/twisted/internet/_newtls.py", line 139, in startTLS2016-01-24 23:01:50+0100 [-] [caldav-1] tlsFactory = TLSMemoryBIOFactory(contextFactory, client, None)
2016-01-24 23:01:50+0100 [-] [caldav-1] File "/usr/lib/python2.7/dist-packages/twisted/protocols/tls.py", line 769, in __init__
2016-01-24 23:01:50+0100 [-] [caldav-1] contextFactory = _ContextFactoryToConnectionFactory(contextFactory)
2016-01-24 23:01:50+0100 [-] [caldav-1] File "/usr/lib/python2.7/dist-packages/twisted/protocols/tls.py", line 648, in __init__
2016-01-24 23:01:50+0100 [-] [caldav-1] oldStyleContextFactory.getContext()
2016-01-24 23:01:50+0100 [-] [caldav-1]
exceptions.AttributeError: 'NoneType' object has no attribute 'getContext'2016-01-24 23:01:50+0100 [-] [caldav-1]
I also tried letsencrypt's CA certificate, I had the same problem.
What might be the problem? Is it a bug or the server doesn't like the certificate for some reason?