It should be noted that this may be dodgy if we ever encounter
parameter objects that look like something else. However, experience
with the OSSL_STORE 'file:' loader, which does exactly this kind of
thing, has worked fine so far.
A possibility could be that to decode parameters specifically, we
demand that there's an incoming data type specifying this, which
demands by extension that parameters can only come from a file format
that has the parameter type encoded, such as PEM. This would be a
future effort.
Fixes #12568
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/12569)
pkey = d2i_PUBKEY(NULL, &derp, der_len);
}
+ if (pkey == NULL) {
+ derp = der;
+ pkey = d2i_KeyParams(ctx->desc->type, NULL, &derp, der_len);
+ }
+
if (pkey != NULL) {
/*
* Tear out the low-level key pointer from the pkey,