> > In other words, the man page says it's unsigned int, but in fact it's > > BIGNUM? Because the pointer I gave was to "unsigned int", like in the > > OP's code. > > The param is too big to fit into int. If you were using some > ridiculously small EC curve the call would succeed. The parameter types > != C types and the manual page does not say "unsigned int" but > "unsigned integer" for a reason. Yes, that makes sense. But, considering that the man pages describe C API, wouldn't it be nice to mention (even though it may be obvious that a number of order 2^384 might not fit into 32 or even 64 bits) that the actual type is BIGNUM? Also, what should arguments to that C call EVP_PKEY_get_int_param() look like to succeed? Do I need to pass a pointer to BN there???
Attachment:
smime.p7s
Description: S/MIME cryptographic signature