summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/o_fips.c
diff options
context:
space:
mode:
authortb <>2024-04-17 14:00:17 +0000
committertb <>2024-04-17 14:00:17 +0000
commitdc6744aa7e38d97c3630de9e4981cac2d87f6dc6 (patch)
treedba3b36e3d114e39957b02f82d1354708720821b /src/lib/libcrypto/o_fips.c
parent58f738fb8187c3e72b76725cc55d0feb1937498c (diff)
downloadopenbsd-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