@@ -43,6 +43,8 @@ static OSSL_FUNC_keymgmt_gen_set_template_fn ibmca_keymgmt_dh_gen_set_template;
43
43
static OSSL_FUNC_keymgmt_gen_set_params_fn ibmca_keymgmt_dh_gen_set_params ;
44
44
static OSSL_FUNC_keymgmt_gen_settable_params_fn
45
45
ibmca_keymgmt_dh_gen_settable_params ;
46
+ static OSSL_FUNC_keymgmt_gen_settable_params_fn
47
+ ibmca_keymgmt_dhx_gen_settable_params ;
46
48
static OSSL_FUNC_keymgmt_gen_fn ibmca_keymgmt_dh_gen ;
47
49
static OSSL_FUNC_keymgmt_has_fn ibmca_keymgmt_dh_has ;
48
50
static OSSL_FUNC_keymgmt_match_fn ibmca_keymgmt_dh_match ;
@@ -529,23 +531,62 @@ static int ibmca_keymgmt_dh_gen_set_params(void *vgenctx,
529
531
return 1 ;
530
532
}
531
533
534
+ static const OSSL_PARAM ibmca_dh_op_ctx_settable_params [] = {
535
+ OSSL_PARAM_utf8_string (OSSL_PKEY_PARAM_FFC_TYPE , NULL , 0 ),
536
+ OSSL_PARAM_utf8_string (OSSL_PKEY_PARAM_GROUP_NAME , NULL , 0 ),
537
+ OSSL_PARAM_int (OSSL_PKEY_PARAM_DH_PRIV_LEN , NULL ),
538
+ OSSL_PARAM_size_t (OSSL_PKEY_PARAM_FFC_PBITS , NULL ),
539
+ OSSL_PARAM_int (OSSL_PKEY_PARAM_DH_GENERATOR , NULL ),
540
+ OSSL_PARAM_END
541
+ };
542
+
543
+ static const OSSL_PARAM ibmca_dhx_op_ctx_settable_params [] = {
544
+ OSSL_PARAM_utf8_string (OSSL_PKEY_PARAM_FFC_TYPE , NULL , 0 ),
545
+ OSSL_PARAM_utf8_string (OSSL_PKEY_PARAM_GROUP_NAME , NULL , 0 ),
546
+ OSSL_PARAM_int (OSSL_PKEY_PARAM_DH_PRIV_LEN , NULL ),
547
+ OSSL_PARAM_size_t (OSSL_PKEY_PARAM_FFC_PBITS , NULL ),
548
+ OSSL_PARAM_size_t (OSSL_PKEY_PARAM_FFC_QBITS , NULL ),
549
+ OSSL_PARAM_utf8_string (OSSL_PKEY_PARAM_FFC_DIGEST , NULL , 0 ),
550
+ OSSL_PARAM_utf8_string (OSSL_PKEY_PARAM_FFC_DIGEST_PROPS , NULL , 0 ),
551
+ OSSL_PARAM_int (OSSL_PKEY_PARAM_FFC_GINDEX , NULL ),
552
+ OSSL_PARAM_octet_string (OSSL_PKEY_PARAM_FFC_SEED , NULL , 0 ),
553
+ OSSL_PARAM_int (OSSL_PKEY_PARAM_FFC_PCOUNTER , NULL ),
554
+ OSSL_PARAM_int (OSSL_PKEY_PARAM_FFC_H , NULL ),
555
+ OSSL_PARAM_END
556
+ };
557
+
532
558
static const OSSL_PARAM * ibmca_keymgmt_dh_gen_settable_params (void * vgenctx ,
533
559
void * vprovctx )
534
560
{
535
561
const struct ibmca_op_ctx * genctx = vgenctx ;
536
562
const struct ibmca_prov_ctx * provctx = vprovctx ;
537
- const OSSL_PARAM * p , * params ;
563
+ const OSSL_PARAM * params , * p ;
538
564
539
565
UNUSED (genctx );
540
566
541
567
if (provctx == NULL )
542
568
return NULL ;
543
569
544
- if (genctx -> dh .gen .pctx == NULL )
545
- return NULL ;
570
+ params = ibmca_dh_op_ctx_settable_params ;
571
+ for (p = params ; p != NULL && p -> key != NULL ; p ++ )
572
+ ibmca_debug_ctx (provctx , "param: %s" , p -> key );
546
573
547
- params = EVP_PKEY_CTX_settable_params (genctx -> dh .gen .pctx );
574
+ return params ;
575
+ }
548
576
577
+ static const OSSL_PARAM * ibmca_keymgmt_dhx_gen_settable_params (void * vgenctx ,
578
+ void * vprovctx )
579
+ {
580
+ const struct ibmca_op_ctx * genctx = vgenctx ;
581
+ const struct ibmca_prov_ctx * provctx = vprovctx ;
582
+ const OSSL_PARAM * params , * p ;
583
+
584
+ UNUSED (genctx );
585
+
586
+ if (provctx == NULL )
587
+ return NULL ;
588
+
589
+ params = ibmca_dhx_op_ctx_settable_params ;
549
590
for (p = params ; p != NULL && p -> key != NULL ; p ++ )
550
591
ibmca_debug_ctx (provctx , "param: %s" , p -> key );
551
592
@@ -1964,7 +2005,7 @@ static const OSSL_DISPATCH ibmca_dhx_keymgmt_functions[] = {
1964
2005
{ OSSL_FUNC_KEYMGMT_GEN_SET_PARAMS ,
1965
2006
(void (* )(void ))ibmca_keymgmt_dh_gen_set_params },
1966
2007
{ OSSL_FUNC_KEYMGMT_GEN_SETTABLE_PARAMS ,
1967
- (void (* )(void ))ibmca_keymgmt_dh_gen_settable_params },
2008
+ (void (* )(void ))ibmca_keymgmt_dhx_gen_settable_params },
1968
2009
{ OSSL_FUNC_KEYMGMT_GEN , (void (* )(void ))ibmca_keymgmt_dh_gen },
1969
2010
{ OSSL_FUNC_KEYMGMT_GEN_CLEANUP ,
1970
2011
(void (* )(void ))ibmca_keymgmt_gen_cleanup },
0 commit comments