diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libcrypto/rsa/rsa_pmeth.c | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/lib/libcrypto/rsa/rsa_pmeth.c b/src/lib/libcrypto/rsa/rsa_pmeth.c index 91e64fe500..9d2cc86112 100644 --- a/src/lib/libcrypto/rsa/rsa_pmeth.c +++ b/src/lib/libcrypto/rsa/rsa_pmeth.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: rsa_pmeth.c,v 1.27 2019/10/31 13:02:49 jsing Exp $ */ | 1 | /* $OpenBSD: rsa_pmeth.c,v 1.28 2019/10/31 13:05:08 jsing Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2006. | 3 | * project 2006. |
| 4 | */ | 4 | */ |
| @@ -215,11 +215,13 @@ pkey_rsa_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, | |||
| 215 | return -1; | 215 | return -1; |
| 216 | ret = RSA_private_encrypt(RSA_size(rsa), rctx->tbuf, | 216 | ret = RSA_private_encrypt(RSA_size(rsa), rctx->tbuf, |
| 217 | sig, rsa, RSA_NO_PADDING); | 217 | sig, rsa, RSA_NO_PADDING); |
| 218 | } else | 218 | } else { |
| 219 | return -1; | 219 | return -1; |
| 220 | } else | 220 | } |
| 221 | } else { | ||
| 221 | ret = RSA_private_encrypt(tbslen, tbs, sig, ctx->pkey->pkey.rsa, | 222 | ret = RSA_private_encrypt(tbslen, tbs, sig, ctx->pkey->pkey.rsa, |
| 222 | rctx->pad_mode); | 223 | rctx->pad_mode); |
| 224 | } | ||
| 223 | if (ret < 0) | 225 | if (ret < 0) |
| 224 | return ret; | 226 | return ret; |
| 225 | *siglen = ret; | 227 | *siglen = ret; |
| @@ -261,11 +263,13 @@ pkey_rsa_verifyrecover(EVP_PKEY_CTX *ctx, unsigned char *rout, size_t *routlen, | |||
| 261 | if (ret <= 0) | 263 | if (ret <= 0) |
| 262 | return 0; | 264 | return 0; |
| 263 | ret = sltmp; | 265 | ret = sltmp; |
| 264 | } else | 266 | } else { |
| 265 | return -1; | 267 | return -1; |
| 266 | } else | 268 | } |
| 269 | } else { | ||
| 267 | ret = RSA_public_decrypt(siglen, sig, rout, ctx->pkey->pkey.rsa, | 270 | ret = RSA_public_decrypt(siglen, sig, rout, ctx->pkey->pkey.rsa, |
| 268 | rctx->pad_mode); | 271 | rctx->pad_mode); |
| 272 | } | ||
| 269 | if (ret < 0) | 273 | if (ret < 0) |
| 270 | return ret; | 274 | return ret; |
| 271 | *routlen = ret; | 275 | *routlen = ret; |
| @@ -306,8 +310,9 @@ pkey_rsa_verify(EVP_PKEY_CTX *ctx, const unsigned char *sig, size_t siglen, | |||
| 306 | if (ret <= 0) | 310 | if (ret <= 0) |
| 307 | return 0; | 311 | return 0; |
| 308 | return 1; | 312 | return 1; |
| 309 | } else | 313 | } else { |
| 310 | return -1; | 314 | return -1; |
| 315 | } | ||
| 311 | } else { | 316 | } else { |
| 312 | if (!setup_tbuf(rctx, ctx)) | 317 | if (!setup_tbuf(rctx, ctx)) |
| 313 | return -1; | 318 | return -1; |
| @@ -439,9 +444,9 @@ bad_pad: | |||
| 439 | RSAerror(RSA_R_INVALID_PSS_SALTLEN); | 444 | RSAerror(RSA_R_INVALID_PSS_SALTLEN); |
| 440 | return -2; | 445 | return -2; |
| 441 | } | 446 | } |
| 442 | if (type == EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN) | 447 | if (type == EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN) { |
| 443 | *(int *)p2 = rctx->saltlen; | 448 | *(int *)p2 = rctx->saltlen; |
| 444 | else { | 449 | } else { |
| 445 | if (p1 < -2) | 450 | if (p1 < -2) |
| 446 | return -2; | 451 | return -2; |
| 447 | rctx->saltlen = p1; | 452 | rctx->saltlen = p1; |
