@@ -1156,6 +1156,9 @@ static int wp_dh_import(wp_Dh* dh, int selection, const OSSL_PARAM params[])
11561156 if (!wolfssl_prov_is_running ()) {
11571157 ok = 0 ;
11581158 }
1159+ if (ok ) {
1160+ WP_CHECK_FIPS_ALGO (WP_CAST_ALGO_DH );
1161+ }
11591162 if (ok && (dh == NULL )) {
11601163 ok = 0 ;
11611164 }
@@ -1832,6 +1835,8 @@ static wp_Dh* wp_dh_gen(wp_DhGenCtx *ctx, OSSL_CALLBACK *cb, void *cbArg)
18321835 (void )cb ;
18331836 (void )cbArg ;
18341837
1838+ WP_CHECK_FIPS_ALGO_PTR (WP_CAST_ALGO_DH );
1839+
18351840 /* Create a new DH key object to hold generated data. */
18361841 dh = wp_dh_new (ctx -> provCtx );
18371842 if (dh != NULL ) {
@@ -2064,6 +2069,8 @@ static int wp_dh_decode_spki(wp_Dh* dh, unsigned char* data, word32 len)
20642069
20652070 WOLFPROV_ENTER_SILENT (WP_LOG_COMP_DH , WOLFPROV_FUNC_NAME );
20662071
2072+ WP_CHECK_FIPS_ALGO (WP_CAST_ALGO_DH );
2073+
20672074 rc = wc_DhPublicKeyDecode (data , & idx , & dh -> key , len );
20682075 if (rc != 0 ) {
20692076 ok = 0 ;
@@ -2127,6 +2134,8 @@ static int wp_dh_decode_pki(wp_Dh* dh, unsigned char* data, word32 len)
21272134
21282135 WOLFPROV_ENTER_SILENT (WP_LOG_COMP_DH , WOLFPROV_FUNC_NAME );
21292136
2137+ WP_CHECK_FIPS_ALGO (WP_CAST_ALGO_DH );
2138+
21302139 rc = wc_DhKeyDecode (data , & idx , & dh -> key , len );
21312140 if (rc != 0 ) {
21322141 ok = 0 ;
0 commit comments