Lines Matching refs:prsactx

161 #define rsa_pss_restricted(prsactx) (prsactx->min_saltlen != -1)  argument
163 static size_t rsa_get_md_size(const PROV_RSA_CTX *prsactx) in rsa_get_md_size() argument
167 if (prsactx->md != NULL) { in rsa_get_md_size()
168 md_size = EVP_MD_get_size(prsactx->md); in rsa_get_md_size()
176 static int rsa_check_padding(const PROV_RSA_CTX *prsactx, in rsa_check_padding() argument
180 switch (prsactx->pad_mode) { in rsa_check_padding()
194 if (rsa_pss_restricted(prsactx)) in rsa_check_padding()
195 if ((mdname != NULL && !EVP_MD_is_a(prsactx->md, mdname)) in rsa_check_padding()
197 && !EVP_MD_is_a(prsactx->mgf1_md, mgf1_mdname))) { in rsa_check_padding()
209 static int rsa_check_parameters(PROV_RSA_CTX *prsactx, int min_saltlen) in rsa_check_parameters() argument
211 if (prsactx->pad_mode == RSA_PKCS1_PSS_PADDING) { in rsa_check_parameters()
215 max_saltlen = RSA_size(prsactx->rsa) - EVP_MD_get_size(prsactx->md); in rsa_check_parameters()
216 if ((RSA_bits(prsactx->rsa) & 0x7) == 1) in rsa_check_parameters()
222 prsactx->min_saltlen = min_saltlen; in rsa_check_parameters()
229 PROV_RSA_CTX *prsactx = NULL; in rsa_newctx() local
235 if ((prsactx = OPENSSL_zalloc(sizeof(PROV_RSA_CTX))) == NULL in rsa_newctx()
238 OPENSSL_free(prsactx); in rsa_newctx()
242 OSSL_FIPS_IND_INIT(prsactx) in rsa_newctx()
243 prsactx->libctx = PROV_LIBCTX_OF(provctx); in rsa_newctx()
244 prsactx->flag_allow_md = 1; in rsa_newctx()
246 prsactx->verify_message = 1; in rsa_newctx()
248 prsactx->propq = propq_copy; in rsa_newctx()
250 prsactx->saltlen = RSA_PSS_SALTLEN_AUTO_DIGEST_MAX; in rsa_newctx()
251 prsactx->min_saltlen = -1; in rsa_newctx()
252 return prsactx; in rsa_newctx()
503 rsa_signverify_init(PROV_RSA_CTX *prsactx, void *vrsa, in rsa_signverify_init() argument
510 if (!ossl_prov_is_running() || prsactx == NULL) in rsa_signverify_init()
513 if (vrsa == NULL && prsactx->rsa == NULL) { in rsa_signverify_init()
521 RSA_free(prsactx->rsa); in rsa_signverify_init()
522 prsactx->rsa = vrsa; in rsa_signverify_init()
524 if (!ossl_rsa_key_op_get_protect(prsactx->rsa, operation, &protect)) in rsa_signverify_init()
527 prsactx->operation = operation; in rsa_signverify_init()
528 prsactx->flag_allow_update = 1; in rsa_signverify_init()
529 prsactx->flag_allow_final = 1; in rsa_signverify_init()
530 prsactx->flag_allow_oneshot = 1; in rsa_signverify_init()
533 prsactx->saltlen = RSA_PSS_SALTLEN_AUTO_DIGEST_MAX; in rsa_signverify_init()
534 prsactx->min_saltlen = -1; in rsa_signverify_init()
536 switch (RSA_test_flags(prsactx->rsa, RSA_FLAG_TYPE_MASK)) { in rsa_signverify_init()
538 prsactx->pad_mode = RSA_PKCS1_PADDING; in rsa_signverify_init()
541 prsactx->pad_mode = RSA_PKCS1_PSS_PADDING; in rsa_signverify_init()
545 ossl_rsa_get0_pss_params_30(prsactx->rsa); in rsa_signverify_init()
568 len = OPENSSL_strlcpy(prsactx->mdname, mdname, in rsa_signverify_init()
569 sizeof(prsactx->mdname)); in rsa_signverify_init()
570 if (len >= sizeof(prsactx->mdname)) { in rsa_signverify_init()
575 len = OPENSSL_strlcpy(prsactx->mgf1_mdname, mgf1mdname, in rsa_signverify_init()
576 sizeof(prsactx->mgf1_mdname)); in rsa_signverify_init()
577 if (len >= sizeof(prsactx->mgf1_mdname)) { in rsa_signverify_init()
582 prsactx->saltlen = min_saltlen; in rsa_signverify_init()
585 if (!rsa_setup_mgf1_md(prsactx, mgf1mdname, prsactx->propq) in rsa_signverify_init()
586 || !rsa_setup_md(prsactx, mdname, prsactx->propq, desc) in rsa_signverify_init()
587 || !rsa_check_parameters(prsactx, min_saltlen)) in rsa_signverify_init()
598 OSSL_FIPS_IND_SET_APPROVED(prsactx) in rsa_signverify_init()
599 if (!set_ctx_params(prsactx, params)) in rsa_signverify_init()
602 if (!ossl_fips_ind_rsa_key_check(OSSL_FIPS_IND_GET(prsactx), in rsa_signverify_init()
603 OSSL_FIPS_IND_SETTABLE0, prsactx->libctx, in rsa_signverify_init()
604 prsactx->rsa, desc, protect)) in rsa_signverify_init()
660 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_sign_init() local
663 if (prsactx != NULL) in rsa_sign_init()
664 prsactx->verify_message = 1; in rsa_sign_init()
667 return rsa_signverify_init(prsactx, vrsa, rsa_set_ctx_params, params, in rsa_sign_init()
676 static int rsa_sign_directly(PROV_RSA_CTX *prsactx, in rsa_sign_directly() argument
681 size_t rsasize = RSA_size(prsactx->rsa); in rsa_sign_directly()
682 size_t mdsize = rsa_get_md_size(prsactx); in rsa_sign_directly()
705 if (EVP_MD_is_a(prsactx->md, OSSL_DIGEST_NAME_MDC2)) { in rsa_sign_directly()
708 if (prsactx->pad_mode != RSA_PKCS1_PADDING) { in rsa_sign_directly()
714 prsactx->rsa); in rsa_sign_directly()
724 switch (prsactx->pad_mode) { in rsa_sign_directly()
726 if ((size_t)RSA_size(prsactx->rsa) < tbslen + 1) { in rsa_sign_directly()
729 RSA_size(prsactx->rsa), tbslen + 1); in rsa_sign_directly()
732 if (!setup_tbuf(prsactx)) { in rsa_sign_directly()
736 memcpy(prsactx->tbuf, tbs, tbslen); in rsa_sign_directly()
737 prsactx->tbuf[tbslen] = RSA_X931_hash_id(prsactx->mdnid); in rsa_sign_directly()
738 ret = RSA_private_encrypt(tbslen + 1, prsactx->tbuf, in rsa_sign_directly()
739 sig, prsactx->rsa, RSA_X931_PADDING); in rsa_sign_directly()
740 clean_tbuf(prsactx); in rsa_sign_directly()
746 ret = RSA_sign(prsactx->mdnid, tbs, tbslen, sig, &sltmp, in rsa_sign_directly()
747 prsactx->rsa); in rsa_sign_directly()
761 if (rsa_pss_restricted(prsactx)) { in rsa_sign_directly()
762 switch (prsactx->saltlen) { in rsa_sign_directly()
764 if (prsactx->min_saltlen > EVP_MD_get_size(prsactx->md)) { in rsa_sign_directly()
769 prsactx->min_saltlen, in rsa_sign_directly()
770 EVP_MD_get_size(prsactx->md)); in rsa_sign_directly()
775 if (prsactx->saltlen >= 0 in rsa_sign_directly()
776 && prsactx->saltlen < prsactx->min_saltlen) { in rsa_sign_directly()
781 prsactx->min_saltlen, in rsa_sign_directly()
782 prsactx->saltlen); in rsa_sign_directly()
788 if (!setup_tbuf(prsactx)) in rsa_sign_directly()
790 saltlen = prsactx->saltlen; in rsa_sign_directly()
791 if (!ossl_rsa_padding_add_PKCS1_PSS_mgf1(prsactx->rsa, in rsa_sign_directly()
792 prsactx->tbuf, tbs, in rsa_sign_directly()
793 prsactx->md, prsactx->mgf1_md, in rsa_sign_directly()
799 if (!rsa_pss_saltlen_check_passed(prsactx, "RSA Sign", saltlen)) in rsa_sign_directly()
802 ret = RSA_private_encrypt(RSA_size(prsactx->rsa), prsactx->tbuf, in rsa_sign_directly()
803 sig, prsactx->rsa, RSA_NO_PADDING); in rsa_sign_directly()
804 clean_tbuf(prsactx); in rsa_sign_directly()
814 ret = RSA_private_encrypt(tbslen, tbs, sig, prsactx->rsa, in rsa_sign_directly()
815 prsactx->pad_mode); in rsa_sign_directly()
834 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_signverify_message_update() local
836 if (prsactx == NULL || prsactx->mdctx == NULL) in rsa_signverify_message_update()
839 if (!prsactx->flag_allow_update) { in rsa_signverify_message_update()
843 prsactx->flag_allow_oneshot = 0; in rsa_signverify_message_update()
845 return EVP_DigestUpdate(prsactx->mdctx, data, datalen); in rsa_signverify_message_update()
851 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_sign_message_final() local
855 if (!ossl_prov_is_running() || prsactx == NULL) in rsa_sign_message_final()
857 if (prsactx->mdctx == NULL) in rsa_sign_message_final()
859 if (!prsactx->flag_allow_final) { in rsa_sign_message_final()
873 if (!EVP_DigestFinal_ex(prsactx->mdctx, digest, &dlen)) in rsa_sign_message_final()
876 prsactx->flag_allow_update = 0; in rsa_sign_message_final()
877 prsactx->flag_allow_oneshot = 0; in rsa_sign_message_final()
878 prsactx->flag_allow_final = 0; in rsa_sign_message_final()
881 return rsa_sign_directly(prsactx, sig, siglen, sigsize, digest, dlen); in rsa_sign_message_final()
891 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_sign() local
893 if (!ossl_prov_is_running() || prsactx == NULL) in rsa_sign()
895 if (!prsactx->flag_allow_oneshot) { in rsa_sign()
900 if (prsactx->operation == EVP_PKEY_OP_SIGNMSG) { in rsa_sign()
906 return rsa_sign_message_final(prsactx, sig, siglen, sigsize); in rsa_sign()
908 return rsa_signverify_message_update(prsactx, tbs, tbslen) in rsa_sign()
909 && rsa_sign_message_final(prsactx, sig, siglen, sigsize); in rsa_sign()
911 return rsa_sign_directly(prsactx, sig, siglen, sigsize, tbs, tbslen); in rsa_sign()
917 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_verify_recover_init() local
920 if (prsactx != NULL) in rsa_verify_recover_init()
921 prsactx->verify_message = 0; in rsa_verify_recover_init()
924 return rsa_signverify_init(prsactx, vrsa, rsa_set_ctx_params, params, in rsa_verify_recover_init()
937 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_verify_recover() local
944 *routlen = RSA_size(prsactx->rsa); in rsa_verify_recover()
948 if (prsactx->md != NULL) { in rsa_verify_recover()
949 switch (prsactx->pad_mode) { in rsa_verify_recover()
951 if (!setup_tbuf(prsactx)) in rsa_verify_recover()
953 ret = RSA_public_decrypt(siglen, sig, prsactx->tbuf, prsactx->rsa, in rsa_verify_recover()
960 if (prsactx->tbuf[ret] != RSA_X931_hash_id(prsactx->mdnid)) { in rsa_verify_recover()
964 if (ret != EVP_MD_get_size(prsactx->md)) { in rsa_verify_recover()
967 EVP_MD_get_size(prsactx->md), ret); in rsa_verify_recover()
972 if (rout != prsactx->tbuf) { in rsa_verify_recover()
979 memcpy(rout, prsactx->tbuf, ret); in rsa_verify_recover()
987 ret = ossl_rsa_verify(prsactx->mdnid, NULL, 0, rout, &sltmp, in rsa_verify_recover()
988 sig, siglen, prsactx->rsa); in rsa_verify_recover()
1003 ret = RSA_public_decrypt(siglen, sig, rout, prsactx->rsa, in rsa_verify_recover()
1004 prsactx->pad_mode); in rsa_verify_recover()
1017 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_verify_init() local
1020 if (prsactx != NULL) in rsa_verify_init()
1021 prsactx->verify_message = 0; in rsa_verify_init()
1024 return rsa_signverify_init(prsactx, vrsa, rsa_set_ctx_params, params, in rsa_verify_init()
1028 static int rsa_verify_directly(PROV_RSA_CTX *prsactx, in rsa_verify_directly() argument
1036 if (prsactx->md != NULL) { in rsa_verify_directly()
1037 switch (prsactx->pad_mode) { in rsa_verify_directly()
1039 if (!RSA_verify(prsactx->mdnid, tbs, tbslen, sig, siglen, in rsa_verify_directly()
1040 prsactx->rsa)) { in rsa_verify_directly()
1046 if (!setup_tbuf(prsactx)) in rsa_verify_directly()
1048 if (rsa_verify_recover(prsactx, prsactx->tbuf, &rslen, 0, in rsa_verify_directly()
1062 mdsize = rsa_get_md_size(prsactx); in rsa_verify_directly()
1070 if (!setup_tbuf(prsactx)) in rsa_verify_directly()
1072 ret = RSA_public_decrypt(siglen, sig, prsactx->tbuf, in rsa_verify_directly()
1073 prsactx->rsa, RSA_NO_PADDING); in rsa_verify_directly()
1078 saltlen = prsactx->saltlen; in rsa_verify_directly()
1079 ret = ossl_rsa_verify_PKCS1_PSS_mgf1(prsactx->rsa, tbs, in rsa_verify_directly()
1080 prsactx->md, prsactx->mgf1_md, in rsa_verify_directly()
1081 prsactx->tbuf, in rsa_verify_directly()
1088 if (!rsa_pss_saltlen_check_passed(prsactx, "RSA Verify", saltlen)) in rsa_verify_directly()
1101 if (!setup_tbuf(prsactx)) in rsa_verify_directly()
1103 ret = RSA_public_decrypt(siglen, sig, prsactx->tbuf, prsactx->rsa, in rsa_verify_directly()
1104 prsactx->pad_mode); in rsa_verify_directly()
1112 if ((rslen != tbslen) || memcmp(tbs, prsactx->tbuf, rslen)) in rsa_verify_directly()
1121 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_verify_set_sig() local
1128 return rsa_sigalg_set_ctx_params(prsactx, params); in rsa_verify_set_sig()
1133 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_verify_message_final() local
1137 if (!ossl_prov_is_running() || prsactx == NULL) in rsa_verify_message_final()
1139 if (prsactx->mdctx == NULL) in rsa_verify_message_final()
1141 if (!prsactx->flag_allow_final) { in rsa_verify_message_final()
1150 if (!EVP_DigestFinal_ex(prsactx->mdctx, digest, &dlen)) in rsa_verify_message_final()
1153 prsactx->flag_allow_update = 0; in rsa_verify_message_final()
1154 prsactx->flag_allow_final = 0; in rsa_verify_message_final()
1155 prsactx->flag_allow_oneshot = 0; in rsa_verify_message_final()
1157 return rsa_verify_directly(prsactx, prsactx->sig, prsactx->siglen, in rsa_verify_message_final()
1169 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_verify() local
1171 if (!ossl_prov_is_running() || prsactx == NULL) in rsa_verify()
1173 if (!prsactx->flag_allow_oneshot) { in rsa_verify()
1178 if (prsactx->operation == EVP_PKEY_OP_VERIFYMSG) in rsa_verify()
1179 return rsa_verify_set_sig(prsactx, sig, siglen) in rsa_verify()
1180 && rsa_signverify_message_update(prsactx, tbs, tbslen) in rsa_verify()
1181 && rsa_verify_message_final(prsactx); in rsa_verify()
1182 return rsa_verify_directly(prsactx, sig, siglen, tbs, tbslen); in rsa_verify()
1191 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_digest_signverify_init() local
1194 if (prsactx != NULL) in rsa_digest_signverify_init()
1195 prsactx->verify_message = 1; in rsa_digest_signverify_init()
1198 if (!rsa_signverify_init(prsactx, vrsa, rsa_set_ctx_params, params, in rsa_digest_signverify_init()
1204 && (mdname[0] == '\0' || OPENSSL_strcasecmp(prsactx->mdname, mdname) != 0) in rsa_digest_signverify_init()
1205 && !rsa_setup_md(prsactx, mdname, prsactx->propq, desc)) in rsa_digest_signverify_init()
1208 prsactx->flag_allow_md = 0; in rsa_digest_signverify_init()
1210 if (prsactx->mdctx == NULL) { in rsa_digest_signverify_init()
1211 prsactx->mdctx = EVP_MD_CTX_new(); in rsa_digest_signverify_init()
1212 if (prsactx->mdctx == NULL) in rsa_digest_signverify_init()
1216 if (!EVP_DigestInit_ex2(prsactx->mdctx, prsactx->md, params)) in rsa_digest_signverify_init()
1222 EVP_MD_CTX_free(prsactx->mdctx); in rsa_digest_signverify_init()
1223 prsactx->mdctx = NULL; in rsa_digest_signverify_init()
1240 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_digest_sign_update() local
1242 if (prsactx == NULL) in rsa_digest_sign_update()
1245 if (prsactx->flag_sigalg) in rsa_digest_sign_update()
1248 return rsa_signverify_message_update(prsactx, data, datalen); in rsa_digest_sign_update()
1254 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_digest_sign_final() local
1257 if (prsactx == NULL) in rsa_digest_sign_final()
1260 if (prsactx->flag_sigalg) in rsa_digest_sign_final()
1263 if (rsa_sign_message_final(prsactx, sig, siglen, sigsize)) in rsa_digest_sign_final()
1266 prsactx->flag_allow_md = 1; in rsa_digest_sign_final()
1284 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_digest_verify_update() local
1286 if (prsactx == NULL) in rsa_digest_verify_update()
1289 if (prsactx->flag_sigalg) in rsa_digest_verify_update()
1292 return rsa_signverify_message_update(prsactx, data, datalen); in rsa_digest_verify_update()
1298 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_digest_verify_final() local
1301 if (prsactx == NULL) in rsa_digest_verify_final()
1304 if (prsactx->flag_sigalg) in rsa_digest_verify_final()
1307 if (rsa_verify_set_sig(prsactx, sig, siglen) in rsa_digest_verify_final()
1311 prsactx->flag_allow_md = 1; in rsa_digest_verify_final()
1318 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_freectx() local
1320 if (prsactx == NULL) in rsa_freectx()
1323 EVP_MD_CTX_free(prsactx->mdctx); in rsa_freectx()
1324 EVP_MD_free(prsactx->md); in rsa_freectx()
1325 EVP_MD_free(prsactx->mgf1_md); in rsa_freectx()
1326 OPENSSL_free(prsactx->sig); in rsa_freectx()
1327 OPENSSL_free(prsactx->propq); in rsa_freectx()
1328 free_tbuf(prsactx); in rsa_freectx()
1329 RSA_free(prsactx->rsa); in rsa_freectx()
1331 OPENSSL_clear_free(prsactx, sizeof(*prsactx)); in rsa_freectx()
1387 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_get_ctx_params() local
1390 if (prsactx == NULL) in rsa_get_ctx_params()
1400 aid = rsa_generate_signature_aid(prsactx, aid_buf, in rsa_get_ctx_params()
1410 if (!OSSL_PARAM_set_int(p, prsactx->pad_mode)) in rsa_get_ctx_params()
1419 if (prsactx->pad_mode == (int)padding_item[i].id) { in rsa_get_ctx_params()
1438 if (p != NULL && !OSSL_PARAM_set_utf8_string(p, prsactx->mdname)) in rsa_get_ctx_params()
1442 if (p != NULL && !OSSL_PARAM_set_utf8_string(p, prsactx->mgf1_mdname)) in rsa_get_ctx_params()
1448 if (!OSSL_PARAM_set_int(p, prsactx->saltlen)) in rsa_get_ctx_params()
1453 switch (prsactx->saltlen) { in rsa_get_ctx_params()
1469 prsactx->saltlen); in rsa_get_ctx_params()
1485 if (p != NULL && !OSSL_PARAM_set_uint(p, prsactx->verify_message)) in rsa_get_ctx_params()
1489 if (!OSSL_FIPS_IND_GET_CTX_PARAM(prsactx, params)) in rsa_get_ctx_params()
1534 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_set_ctx_params() local
1543 if (prsactx == NULL) in rsa_set_ctx_params()
1548 if (!OSSL_FIPS_IND_SET_CTX_PARAM(prsactx, OSSL_FIPS_IND_SETTABLE0, params, in rsa_set_ctx_params()
1552 if (!OSSL_FIPS_IND_SET_CTX_PARAM(prsactx, OSSL_FIPS_IND_SETTABLE1, params, in rsa_set_ctx_params()
1556 if (!OSSL_FIPS_IND_SET_CTX_PARAM(prsactx, OSSL_FIPS_IND_SETTABLE2, params, in rsa_set_ctx_params()
1560 if (!OSSL_FIPS_IND_SET_CTX_PARAM(prsactx, OSSL_FIPS_IND_SETTABLE3, params, in rsa_set_ctx_params()
1564 pad_mode = prsactx->pad_mode; in rsa_set_ctx_params()
1565 saltlen = prsactx->saltlen; in rsa_set_ctx_params()
1622 if ((prsactx->operation in rsa_set_ctx_params()
1639 if ((RSA_bits(prsactx->rsa) & 0xFF) != 0) { in rsa_set_ctx_params()
1644 if (!rsa_x931_padding_allowed(prsactx)) in rsa_set_ctx_params()
1649 if (RSA_test_flags(prsactx->rsa, in rsa_set_ctx_params()
1706 if (rsa_pss_restricted(prsactx)) { in rsa_set_ctx_params()
1710 if ((prsactx->operation in rsa_set_ctx_params()
1718 if (prsactx->min_saltlen > EVP_MD_get_size(prsactx->md)) { in rsa_set_ctx_params()
1723 prsactx->min_saltlen, in rsa_set_ctx_params()
1724 EVP_MD_get_size(prsactx->md)); in rsa_set_ctx_params()
1729 if (saltlen >= 0 && saltlen < prsactx->min_saltlen) { in rsa_set_ctx_params()
1734 prsactx->min_saltlen, saltlen); in rsa_set_ctx_params()
1764 prsactx->saltlen = saltlen; in rsa_set_ctx_params()
1765 prsactx->pad_mode = pad_mode; in rsa_set_ctx_params()
1767 if (prsactx->md == NULL && pmdname == NULL in rsa_set_ctx_params()
1772 && !rsa_setup_mgf1_md(prsactx, pmgf1mdname, pmgf1mdprops)) in rsa_set_ctx_params()
1776 if (!rsa_setup_md(prsactx, pmdname, pmdprops, "RSA Sign Set Ctx")) in rsa_set_ctx_params()
1779 if (!rsa_check_padding(prsactx, NULL, NULL, prsactx->mdnid)) in rsa_set_ctx_params()
1814 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_settable_ctx_params() local
1816 if (prsactx != NULL && !prsactx->flag_allow_md) in rsa_settable_ctx_params()
1823 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_get_ctx_md_params() local
1825 if (prsactx->mdctx == NULL) in rsa_get_ctx_md_params()
1828 return EVP_MD_CTX_get_params(prsactx->mdctx, params); in rsa_get_ctx_md_params()
1833 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_gettable_ctx_md_params() local
1835 if (prsactx->md == NULL) in rsa_gettable_ctx_md_params()
1838 return EVP_MD_gettable_ctx_params(prsactx->md); in rsa_gettable_ctx_md_params()
1843 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_set_ctx_md_params() local
1845 if (prsactx->mdctx == NULL) in rsa_set_ctx_md_params()
1848 return EVP_MD_CTX_set_params(prsactx->mdctx, params); in rsa_set_ctx_md_params()
1853 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_settable_ctx_md_params() local
1855 if (prsactx->md == NULL) in rsa_settable_ctx_md_params()
1858 return EVP_MD_settable_ctx_params(prsactx->md); in rsa_settable_ctx_md_params()
1925 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_sigalg_signverify_init() local
1930 if (!rsa_signverify_init(prsactx, vrsa, set_ctx_params, params, operation, in rsa_sigalg_signverify_init()
1935 if (prsactx->pad_mode == RSA_PKCS1_PSS_PADDING) { in rsa_sigalg_signverify_init()
1940 if (!rsa_setup_md(prsactx, mdname, NULL, desc)) in rsa_sigalg_signverify_init()
1943 prsactx->pad_mode = pad_mode; in rsa_sigalg_signverify_init()
1944 prsactx->flag_sigalg = 1; in rsa_sigalg_signverify_init()
1945 prsactx->flag_allow_md = 0; in rsa_sigalg_signverify_init()
1947 if (prsactx->mdctx == NULL) { in rsa_sigalg_signverify_init()
1948 prsactx->mdctx = EVP_MD_CTX_new(); in rsa_sigalg_signverify_init()
1949 if (prsactx->mdctx == NULL) in rsa_sigalg_signverify_init()
1953 if (!EVP_DigestInit_ex2(prsactx->mdctx, prsactx->md, params)) in rsa_sigalg_signverify_init()
1959 EVP_MD_CTX_free(prsactx->mdctx); in rsa_sigalg_signverify_init()
1960 prsactx->mdctx = NULL; in rsa_sigalg_signverify_init()
1979 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_sigalg_settable_ctx_params() local
1981 if (prsactx != NULL && prsactx->operation == EVP_PKEY_OP_VERIFYMSG) in rsa_sigalg_settable_ctx_params()
1988 PROV_RSA_CTX *prsactx = (PROV_RSA_CTX *)vprsactx; in rsa_sigalg_set_ctx_params() local
1991 if (prsactx == NULL) in rsa_sigalg_set_ctx_params()
1996 if (prsactx->operation == EVP_PKEY_OP_VERIFYMSG) { in rsa_sigalg_set_ctx_params()
1999 OPENSSL_free(prsactx->sig); in rsa_sigalg_set_ctx_params()
2000 prsactx->sig = NULL; in rsa_sigalg_set_ctx_params()
2001 prsactx->siglen = 0; in rsa_sigalg_set_ctx_params()
2002 if (!OSSL_PARAM_get_octet_string(p, (void **)&prsactx->sig, in rsa_sigalg_set_ctx_params()
2003 0, &prsactx->siglen)) in rsa_sigalg_set_ctx_params()