libssl: rework cert signature security level
authortb <tb@openbsd.org>
Thu, 17 Oct 2024 06:19:06 +0000 (06:19 +0000)
committertb <tb@openbsd.org>
Thu, 17 Oct 2024 06:19:06 +0000 (06:19 +0000)
commit098374438a0443dba12b9b28a87b03a5af793a55
tree64e02e342e0258ed2b0af6c0c187de20d13c869b
parent70b3073af5dcdcee50cf64564552925c726ae88f
libssl: rework cert signature security level

This switches to using the X509_get_signature_info() API instead of hand
rolling a part of it. This is slightly tangly since the security level API
is strange. In particular, some failures are passed to the security level
callback so that applications can override them.

This makes the security level API handle RSA-PSS and EdDSA certificates
correctly and the handshake with such can progress a bit further. Of note,
we check that the certs are actually suitable for use in TLS per RFC 8446
contrary to what OpenSSL does.

ok beck jsing
lib/libssl/ssl_seclevel.c