On Fri, Jul 5, 2024 at 10:55 PM Christopher Schultz
<ch...@christopherschultz.net> wrote:
>
> Rémy,
>
> On 7/4/24 09:15, Rémy Maucherat wrote:
> > As an experiment, I tested with LibreSSL and BoringSSL on LInux using
> > the FFM code. Both did not need too many API changes to start working,
> > so I committed the changes to "add support" for them.
>
> \o/
>
> I'm very happy that you have had the inclination to make this work.
> While OpenSSL is everywhere, many OSs are opting to provide "compatible"
> clones such as LibreSSL and BoringSSL and the fact is that they aren't
> 100% compatible.
>
> I'd really like to support them because that means supporting Good
> Crypto in as many places as are possible.
>
> (I'd like to see some updated performance numbers from Jean-Frederic on
> "Pure Java" TLS versus OpenSSL-based TLS. When we talked about it years
> ago it looked like there was a bug in Java preventing it from using
> hardware crypto to Java performed terribly in comparison. And of course
> used much more resources (e.g. power).

I lack the expertise in these libraries to really know what the
expected behavior is ... Insights welcome.

> > LibreSSL:
> > - I cannot get it to renegotiate anything. The client always gets a
> > "no_renegotiation" alert.
> > - Seems relatively complete.
> > - I tested with Linux and 3.9.
> > - Testing is easy on GitHub. Out of the box with macos-latest using
> > LibreSSL 3.3. Verified it does the same as my 3.9.
>
> Maybe LibreSSL refuses to renegotiate?
>
> > BoringSSL:
> > - Only TLS 1.3 "renegotiation" seems to work (TestClientCertTls13).
> > This could be seen as acceptable.
> > - It seems very bare bones, all the stuff for supporting exotic certs
> > seems to be gone. So basically you need a standard certificate doing
> > TLS 1.3 and that's all it does, but it then just works.
> > - When it doesn't like something, the client gets a connection close
> > (no alert, no nothing; I guess sending alerts is less efficient ;) ).
> > - Testing is far more problematic. The project is quite "original" in
> > that it does not do releases.  Funny (not ...).
>
> I think the above (except maybe lack of alerts) is all intentional.
> BoringSSL is intended to support "What people should be using today" and
> so it lacks all those decades of old code to support things nobody
> should be using anymore. I thought it supported TLSv1.2 though...

TLS 1.2 seems to work without renegotiation. For both TestSsl [and
also the browsers] works.

> > I don't have much experience with these so maybe I'm doing something
> > wrong. For both, the basics (TestSsl) and quite a bit more work, but
> > not everything. BoringSSL inspires more confidence in what it does and
> > how it does it than the other one, but not having releases is
> > obviously a deal breaker ...
> >
> > So I'm not very impressed. Given the amount of work it still seems
> > "ok", but that's about it, OpenSSL is by far the best choice for
> > Tomcat without even factoring in possible quic support in the future.
>
> I think michael-o has done some more elaborate testing with LibreSSL. He
> might be willing to enable FFM and put it through its paces a little
> more than you have had time for so far.

Rémy

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to