Nikos Mavrogiannopoulos n.mavrogiannopoulos@gmail.com writes:
But where is this helper function used? As far as I see it is not used by rsa_pkcs1_verify() or similar functions, and it only applies if rsa_public_key_prepare() is used; otherwise the crash still applies.
Correct.
Gnutls for example doesn't use any of the *prepare functions.
I think it should. It's a fairly well documented requirement:
: When you have assigned values to the attributes of a key, you must : call : : -- Function: int rsa_public_key_prepare (struct rsa_public_key *PUB) : -- Function: int rsa_private_key_prepare (struct rsa_private_key *KEY) : Computes the octet size of the key (stored in the ‘size’ attribute, : and may also do other basic sanity checks. Returns one if : successful, or zero if the key can’t be used, for instance if the : modulo is smaller than the minimum size needed for RSA operations : specified by PKCS#1.
Regards, /Niels