summaryrefslogtreecommitdiffstats
path: root/crypto/cms/cms_lib.c
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2021-03-10 12:58:53 +0100
committerRichard Levitte <levitte@openssl.org>2021-04-18 10:10:24 +0200
commitad57a13bb86949a9e9adc7a2960e3f39e3e5b284 (patch)
tree67bfce29a5498715b5979c7b8f19baa3f313ddd8 /crypto/cms/cms_lib.c
parent42423ac9611e0cbb02c93b3c5661328f324f9d08 (diff)
Modify OBJ_nid2sn(OBJ_obj2nid(...)) occurences to use OBJ_obj2txt()
The intention is to allow for OIDs for which libcrypto has no information, but are still fetchable for OSSL_ALGORITHM implementations that specify an OID amongst their names. Fixes #14278 Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/14498)
Diffstat (limited to 'crypto/cms/cms_lib.c')
-rw-r--r--crypto/cms/cms_lib.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/crypto/cms/cms_lib.c b/crypto/cms/cms_lib.c
index 33127cc88c..cfde2215bd 100644
--- a/crypto/cms/cms_lib.c
+++ b/crypto/cms/cms_lib.c
@@ -15,6 +15,7 @@
#include <openssl/asn1.h>
#include <openssl/cms.h>
#include <openssl/cms.h>
+#include "internal/sizes.h"
#include "crypto/x509.h"
#include "cms_local.h"
@@ -403,10 +404,10 @@ BIO *ossl_cms_DigestAlgorithm_init_bio(X509_ALGOR *digestAlgorithm,
const ASN1_OBJECT *digestoid;
const EVP_MD *digest = NULL;
EVP_MD *fetched_digest = NULL;
- const char *alg;
+ char alg[OSSL_MAX_NAME_SIZE];
X509_ALGOR_get0(&digestoid, NULL, NULL, digestAlgorithm);
- alg = OBJ_nid2sn(OBJ_obj2nid(digestoid));
+ OBJ_obj2txt(alg, sizeof(alg), digestoid, 0);
(void)ERR_set_mark();
fetched_digest = EVP_MD_fetch(ossl_cms_ctx_get0_libctx(ctx), alg,