mirage

Does Cohttp_mirage.Client support TLS?


Can anyone confirm whether or not Cohttp_mirage.Client supports TLS (https)? The digging I've done seems to indicate that Conduit_mirage does support Client tls, but in Cohttp_mirage, while Server is functor taking a Flow which can be tcp or tls (as gleened from the mirage-www dispatch_tls.ml file).

If it does support TLS, are there any examples of how to set this up (for Mirage)? I couldn't find anything online or in mirage-skeleton. I'm writing a client to to single web-service, so I'm guessing it would only need the one certificate.

If the answer is "no, it does not support TLS," is there any work being done on it? Perhaps I could try digging in to myself. I've been programming for ever 15 years, but I'm still pretty new to OCaml.


Solution

  • I don't understand your question, since you say that mirage-http does support TLS - so where are you stuck? I guess you need to pass a TLS-enabled conduit to connect_uri.

    On the server side, the project's web-site (https://mirage.io/) is a unikernel that supports TLS.

    Example projects (all servers though, but client should work too):