Remove EVP_MD_meth_*() dependency
authortb <tb@openbsd.org>
Mon, 18 Dec 2023 06:06:57 +0000 (06:06 +0000)
committertb <tb@openbsd.org>
Mon, 18 Dec 2023 06:06:57 +0000 (06:06 +0000)
commitaeab8fe0aafabfb19384dbffab319b32735102a8
tree4ef5a98a7e70def55cf32ed289e4fa6a481b809f
parent4f27e2eb738c37f99846c9e2bbfd6fa33d4c556b
Remove EVP_MD_meth_*() dependency

This broken API was added for Erlang's otp-test-engine which was disabled
for LibreSSL without explanation shortly afterward. So we can remove this
hazard again.

Unfortunately, libfido2 started using EVP_MD_meth_dup(), but for no good
reason: they dup static data into a buffer that is passed unmodified to
EVP_PKEY_CTX_set_signature_md() only to be freed right after. This makes
no sense.

Rework this and the ifdefery to make it clear that it is OpenSSL who broke
API contracts (again), not LibreSSL.

ok djm jsing
lib/libfido2/src/rs1.c
lib/libfido2/src/rs256.c