X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=engines%2Fe_cswift.c;h=bc6517984649850c6ccb3d32f9b3af5c44a5c909;hb=7f065cfdbd6f18a81a3f54ba6b8d5045fb533c89;hp=e67379e23e62c1c9ff6a51044c642af51d6335bb;hpb=2e885232c25087c13a5354babb632d6cc6f7c871;p=oweals%2Fopenssl.git diff --git a/engines/e_cswift.c b/engines/e_cswift.c index e67379e23e..bc65179846 100644 --- a/engines/e_cswift.c +++ b/engines/e_cswift.c @@ -744,6 +744,12 @@ static int cswift_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx int to_return = 0; const RSA_METHOD * def_rsa_method; + if(!rsa->p || !rsa->q || !rsa->dmp1 || !rsa->dmq1 || !rsa->iqmp) + { + CSWIFTerr(CSWIFT_F_CSWIFT_RSA_MOD_EXP,CSWIFT_R_MISSING_KEY_COMPONENTS); + goto err; + } + /* Try the limits of RSA (2048 bits) */ if(BN_num_bytes(rsa->p) > 128 || BN_num_bytes(rsa->q) > 128 || @@ -764,11 +770,6 @@ static int cswift_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa, BN_CTX *ctx return def_rsa_method->rsa_mod_exp(r0, I, rsa, ctx); } - if(!rsa->p || !rsa->q || !rsa->dmp1 || !rsa->dmq1 || !rsa->iqmp) - { - CSWIFTerr(CSWIFT_F_CSWIFT_RSA_MOD_EXP,CSWIFT_R_MISSING_KEY_COMPONENTS); - goto err; - } to_return = cswift_mod_exp_crt(r0, I, rsa->p, rsa->q, rsa->dmp1, rsa->dmq1, rsa->iqmp, ctx); err: