Add X509_ALGOR_set0_by_nid()
authortb <tb@openbsd.org>
Wed, 1 Nov 2023 20:37:42 +0000 (20:37 +0000)
committertb <tb@openbsd.org>
Wed, 1 Nov 2023 20:37:42 +0000 (20:37 +0000)
commit208118668bc0a60ceeed07a77bd7a362f13c9a10
treec489e73bed78e4df3156b9c1d1603236ec36700e
parent4c3df036cdefb2caac7ade08cbb08eb9b1c93075
Add X509_ALGOR_set0_by_nid()

X509_ALGOR_set0() is annoyingly unergonomic since it takes an ASN1_OBJECT
rather than a nid.  This means that almost all callers call OBJ_obj2nid()
and they often do this inline without error checking so that the resulting
X509_ALGOR object is corrupted and may lead to incorrect encodings.

Provide an internal alternative X509_ALGOR_set0_by_nid() that takes a nid
instead of an ASN1_OBJECT and performs proper error checking. This will be
used to convert callers of X509_ALGOR_set0() in the library.

ok jsing
lib/libcrypto/asn1/x_algor.c
lib/libcrypto/x509/x509_local.h