summaryrefslogtreecommitdiffstats
path: root/providers/implementations/serializers/deserialize_der2key.c
diff options
context:
space:
mode:
Diffstat (limited to 'providers/implementations/serializers/deserialize_der2key.c')
-rw-r--r--providers/implementations/serializers/deserialize_der2key.c5
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,