Post

Further Info on Mono HttpListener HTTPS/SSL Settings

This post talks about how to configure Mono HttpListener HTTPS/SSL settings.

I think this blog post has already covered the key things you need to know, http://joshua.perina.com/geo/post/using-ssl-https-with-mono-httplistener

To repeat the steps,

  1. Get the certificate and private key ready (http://www.sslshopper.com/article-how-to-create-and-install-an-apache-self-signed-certificate.html).
  2. Convert the private key file to Microsoft PVK format (http://www.drh-consultancy.demon.co.uk/pvk.html). Make sure you use -nocrypt to generate a key file without encryption, as httpcfg does not support encrypted files (in fact it should, but requires some code changes, which I am going to send a pull request to Mono guys).
  3. Use Mono httpcfg command to register the certifcate to the port. Note that you need to use root account to run this command, or your HttpListener does not work afterward. As httpcfg does not warn you about that, I am going to send another pull request to Mono guys.

Of course, if I finish Jexus Manager 1.0, I might spend some time to wrap the above steps in a single tool (which generates test certificates and associates them to ports). That should save most people from struggling.

© Lex Li. All rights reserved. The code included is licensed under CC BY 4.0 unless otherwise noted.
Advertisement