Thank you very much for the helpful response,

I searched for the terms you used in your reply and I found them in one of
the function.

This function is
*static int RSA_eay_public_encrypt(int flen, const unsigned char *from,*
*     unsigned char *to, RSA *rsa, int padding)*
*
*
I was wondering, if there is any check on e while verifying certificate
chains? (For instance, client certificate verification at server side)

For example, if the certificate presented by client has very large public
exponent then what happen?
How this e is stored? There should be some limit (data type BIGNUM) on it?
Is this right?

On Thu, Jun 21, 2012 at 5:14 PM, Erwann Abalea
<erwann.aba...@keynectis.com>wrote:

> The only limit check that I know is performed is if the modulus is
> strictly larger than OPENSSL_RSA_SMALL_MODULUS_BITS bits (3072 by default),
> then the public exponent must be less then or equal to
> OPENSSL_RSA_MAX_PUBEXP_BITS bits (64 by default).
>
> You can then have a 3072bits RSA key with a public exponent of any size.
> Or a 3073bits RSA key with a public exponent limited to 64bits.
>
> Other than for performance, I don't see any reason to limit the size of
> the public exponent.
>
> --
> Erwann ABALEA
>
>
> Le 21/06/2012 16:41, Sukalp Bhople a écrit :
>
>  Hello guys,
>>
>> I was looking into the  (RSA) certificate verification in Openssl. I was
>> wondering if Opensssl checks the size of the public exponent.
>> Or what is the max public exponent accepted by server?
>>
>>


-- 
Regards,
*Sukalp Bhople.*

Reply via email to