summaryrefslogtreecommitdiffstats
path: root/crypto/rsa/rsa_ossl.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/rsa/rsa_ossl.c')
-rw-r--r--crypto/rsa/rsa_ossl.c19
1 files changed, 6 insertions, 13 deletions
diff --git a/crypto/rsa/rsa_ossl.c b/crypto/rsa/rsa_ossl.c
index 96fed3ca59..9690f1299d 100644
--- a/crypto/rsa/rsa_ossl.c
+++ b/crypto/rsa/rsa_ossl.c
@@ -469,20 +469,13 @@ static int rsa_ossl_private_decrypt(int flen, const unsigned char *from,
BN_free(d);
}
- if (blinding) {
- /*
- * ossl_bn_rsa_do_unblind() combines blinding inversion and
- * 0-padded BN BE serialization
- */
- j = ossl_bn_rsa_do_unblind(ret, blinding, unblind, rsa->n, ctx,
- buf, num);
- if (j == 0)
- goto err;
- } else {
- j = BN_bn2binpad(ret, buf, num);
- if (j < 0)
+ if (blinding)
+ if (!rsa_blinding_invert(blinding, ret, unblind, ctx))
goto err;
- }
+
+ j = BN_bn2binpad(ret, buf, num);
+ if (j < 0)
+ goto err;
switch (padding) {
case RSA_PKCS1_PADDING: