diff options
-rw-r--r-- | providers/implementations/serializers/deserialize_der2key.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/providers/implementations/serializers/deserialize_der2key.c b/providers/implementations/serializers/deserialize_der2key.c index a544d8522c..87ac7b5e12 100644 --- a/providers/implementations/serializers/deserialize_der2key.c +++ b/providers/implementations/serializers/deserialize_der2key.c @@ -130,6 +130,11 @@ static int der2key_deserialize(void *vctx, OSSL_CORE_BIO *cin, 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, |