diff options
author | tb <> | 2024-04-17 14:00:17 +0000 |
---|---|---|
committer | tb <> | 2024-04-17 14:00:17 +0000 |
commit | dc6744aa7e38d97c3630de9e4981cac2d87f6dc6 (patch) | |
tree | dba3b36e3d114e39957b02f82d1354708720821b /src/lib/libcrypto/o_fips.c | |
parent | 58f738fb8187c3e72b76725cc55d0feb1937498c (diff) | |
download | openbsd-dc6744aa7e38d97c3630de9e4981cac2d87f6dc6.tar.gz openbsd-dc6744aa7e38d97c3630de9e4981cac2d87f6dc6.tar.bz2 openbsd-dc6744aa7e38d97c3630de9e4981cac2d87f6dc6.zip |
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
Diffstat (limited to 'src/lib/libcrypto/o_fips.c')
0 files changed, 0 insertions, 0 deletions