CVSROOT:        /cvs
Module name:    src
Changes by:     t...@cvs.openbsd.org    2024/04/17 08:00:18

Modified files:
        lib/libcrypto/ec: ec_ameth.c 

Log message:
ecdh_cms_encrypt(): tweak wrap_algor construction

This manually constructs an X509_ALGOR because the (now internal) legacy
interface EVP_CIPHER_param_to_asn1() (which is an unwelcome complication
thanks to RC2) is entirely incompatible with X509_ALGOR_set0() since
the ASN1_TYPE can't be pulled apart nicely (because the ASN1_TYPE API
is incomplete as well).

Once we got this far, we get to DER-encode the inner AlgorithmIdentifier
and set that blob as the parameters of another one. The same variables
are reused of course and needless to say an unchecked X509_ALGOR_set0()
would leak this blob on failure. So fix this by switching to the usual
error checked X509_ALGOR_set0_by_nid().

ok jsing

Reply via email to