Home | History | Annotate | Download | only in rsa

Lines Matching refs:rctx

98 	RSA_PKEY_CTX *rctx;
99 rctx = OPENSSL_malloc(sizeof(RSA_PKEY_CTX));
100 if (!rctx)
102 rctx->nbits = 1024;
103 rctx->pub_exp = NULL;
104 rctx->pad_mode = RSA_PKCS1_PADDING;
105 rctx->md = NULL;
106 rctx->mgf1md = NULL;
107 rctx->tbuf = NULL;
109 rctx->saltlen = -2;
111 ctx->data = rctx;
112 ctx->keygen_info = rctx->gentmp;
149 RSA_PKEY_CTX *rctx = ctx->data;
150 if (rctx)
152 if (rctx->pub_exp)
153 BN_free(rctx->pub_exp);
154 if (rctx->tbuf)
155 OPENSSL_free(rctx->tbuf);
156 OPENSSL_free(rctx);
168 RSA_PKEY_CTX *rctx = ctx->data;
177 if (rctx->md && !(rctx->md->flags & EVP_MD_FLAG_FIPS))
179 if (rctx->mgf1md && !(rctx->mgf1md->flags & EVP_MD_FLAG_FIPS))
189 RSA_PKEY_CTX *rctx = ctx->data;
201 if (rctx->md)
203 if (tbslen != (size_t)EVP_MD_size(rctx->md))
213 ret = FIPS_rsa_sign_digest(rsa, tbs, tbslen, rctx->md,
214 rctx->pad_mode,
215 rctx->saltlen,
216 rctx->mgf1md,
226 if (EVP_MD_type(rctx->md) == NID_mdc2)
229 if (rctx->pad_mode != RSA_PKCS1_PADDING)
238 else if (rctx->pad_mode == RSA_X931_PADDING)
240 if (!setup_tbuf(rctx, ctx))
242 memcpy(rctx->tbuf, tbs, tbslen);
243 rctx->tbuf[tbslen] =
244 RSA_X931_hash_id(EVP_MD_type(rctx->md));
245 ret = RSA_private_encrypt(tbslen + 1, rctx->tbuf,
248 else if (rctx->pad_mode == RSA_PKCS1_PADDING)
251 ret = RSA_sign(EVP_MD_type(rctx->md),
257 else if (rctx->pad_mode == RSA_PKCS1_PSS_PADDING)
259 if (!setup_tbuf(rctx, ctx))
262 rctx->tbuf, tbs,
263 rctx->md, rctx->mgf1md,
264 rctx->saltlen))
266 ret = RSA_private_encrypt(RSA_size(rsa), rctx->tbuf,
274 rctx->pad_mode);
287 RSA_PKEY_CTX *rctx = ctx->data;
289 if (rctx->md)
291 if (rctx->pad_mode == RSA_X931_PADDING)
293 if (!setup_tbuf(rctx, ctx))
296 rctx->tbuf, ctx->pkey->pkey.rsa,
301 if (rctx->tbuf[ret] !=
302 RSA_X931_hash_id(EVP_MD_type(rctx->md)))
308 if (ret != EVP_MD_size(rctx->md))
315 memcpy(rout, rctx->tbuf, ret);
317 else if (rctx->pad_mode == RSA_PKCS1_PADDING)
320 ret = int_rsa_verify(EVP_MD_type(rctx->md),
332 rctx->pad_mode);
343 RSA_PKEY_CTX *rctx = ctx->data;
355 if (rctx->md)
362 rctx->md,
363 rctx->pad_mode,
364 rctx->saltlen,
365 rctx->mgf1md,
370 if (rctx->pad_mode == RSA_PKCS1_PADDING)
371 return RSA_verify(EVP_MD_type(rctx->md), tbs, tbslen,
373 if (rctx->pad_mode == RSA_X931_PADDING)
379 else if (rctx->pad_mode == RSA_PKCS1_PSS_PADDING)
382 if (!setup_tbuf(rctx, ctx))
384 ret = RSA_public_decrypt(siglen, sig, rctx->tbuf,
389 rctx->md, rctx->mgf1md,
390 rctx->tbuf, rctx->saltlen);
400 if (!setup_tbuf(rctx, ctx))
402 rslen = RSA_public_decrypt(siglen, sig, rctx->tbuf,
403 rsa, rctx->pad_mode);
408 if ((rslen != tbslen) || memcmp(tbs, rctx->tbuf, rslen))
421 RSA_PKEY_CTX *rctx = ctx->data;
423 rctx->pad_mode);
435 RSA_PKEY_CTX *rctx = ctx->data;
437 rctx->pad_mode);
472 RSA_PKEY_CTX *rctx = ctx->data;
478 if (!check_padding_md(rctx->md, p1))
485 if (!rctx->md)
486 rctx->md = EVP_sha1();
492 if (!rctx->md)
493 rctx->md = EVP_sha1();
495 rctx->pad_mode = p1;
504 *(int *)p2 = rctx->pad_mode;
509 if (rctx->pad_mode != RSA_PKCS1_PSS_PADDING)
515 *(int *)p2 = rctx->saltlen;
520 rctx->saltlen = p1;
530 rctx->nbits = p1;
536 rctx->pub_exp = p2;
540 if (!check_padding_md(p2, rctx->pad_mode))
542 rctx->md = p2;
547 if (rctx->pad_mode != RSA_PKCS1_PSS_PADDING)
554 if (rctx->mgf1md)
555 *(const EVP_MD **)p2 = rctx->mgf1md;
557 *(const EVP_MD **)p2 = rctx->md;
560 rctx->mgf1md = p2;
578 rctx->pad_mode = RSA_PKCS1_OAEP_PADDING;
661 RSA_PKEY_CTX *rctx = ctx->data;
664 if (!rctx->pub_exp)
666 rctx->pub_exp = BN_new();
667 if (!rctx->pub_exp || !BN_set_word(rctx->pub_exp, RSA_F4))
680 ret = RSA_generate_key_ex(rsa, rctx->nbits, rctx->pub_exp, pcb);