Hello Artur,

On Wed, Feb 05, 2025 at 06:07:39PM +0100, Artur wrote:
> Hello !
> 
> I'm testing aws-lc library with haproxy (3.1) and I was surprised to get a
> start failure after migration from quictls to aws-lc :
> 
> [ALERT] : config : parsing [/etc/haproxy/haproxy.cfg:19] : unknown keyword
> 'ssl-dh-param-file' in 'global' section; did you mean
> 'tune.ssl.default-dh-param' maybe ?

Hmmm bad, we need to improve this. We *know* that some keywords (very few
actually) may depend on certain libs, and we'd need to make special cases
for a few of them and emit a warning instead, such as:

  Warning: the ssl-dh-param-file file is not supported by aws-lc and will
  be ignored. If you don't use dh algos (you shouldn't), you can safely
  remove that line to get rid of this warning.

> I removed 'ssl-dh-param-file' and haproxy started. However it made me wonder
> if there is some other differences/limitations related to aws-lc.
> I've already seen that some ciphers are not available in aws-lc.

That's what I understood, yes. I don't know the exact extent of differences
though they are very thin since aws-lc has ancestry from boringSSL which
itself is derived from openssl. I'd be tempted to suggest that the
differences between openssl versions and aws-lc should be in the same
range as the difference between major openssl versions built with default
settings (i.e. some algos are sometimes deprecated etc). Maybe William
has other differences in mind.

> So, I'm currently looking for a suggested (basic/secure) config for use with
> aws-lc. Maybe some articles are available to explain haproxy and aws-lc
> interactions from admin point of view ?

I'd say that for now it's the closest working alternative to openssl we've
seen to date and it's getting a growing importance in our tests and usages.
That's the one I'm using by default when I build haproxy tens to hundreds
of times a day during development for example. We've started to work on an
article comparing the various libs but it takes an amazing amount of time
so it's still not ready. But at this point I would say that I'm confident
this lib is prod-ready, and that we'll write more about it soon.

Regarding the visible differences, we definitely need to do a bit better
and at least take care of a few keywords that make configs break.

Thanks for this very useful feedback!
Willy


Reply via email to