When exporting/importing decoded keys do not use 0 as selection
[openssl.git] / crypto / encode_decode / decoder_pkey.c
index 49c90a81a60d1cc997e5e3bcf6ab10ad1fbd075e..e3aaa449023af800806b876183bb8d66b1b90bcf 100644 (file)
@@ -155,7 +155,11 @@ static int decoder_construct_pkey(OSSL_DECODER_INSTANCE *decoder_inst,
 
             import_data.keymgmt = keymgmt;
             import_data.keydata = NULL;
-            import_data.selection = data->selection;
+            if (data->selection == 0)
+                /* import/export functions do not tolerate 0 selection */
+                import_data.selection = OSSL_KEYMGMT_SELECT_ALL;
+            else
+                import_data.selection = data->selection;
 
             /*
              * No need to check for errors here, the value of