Bug #6094 ยป openssl.diff
w/ext/openssl/ossl_pkey_rsa.c | ||
---|---|---|
#endif
|
||
static RSA *
|
||
rsa_generate(int size, int exp)
|
||
rsa_generate(int size, unsigned long exp)
|
||
{
|
||
#if defined(HAVE_RSA_GENERATE_KEY_EX) && HAVE_BN_GENCB
|
||
int i;
|
||
... | ... | |
rb_scan_args(argc, argv, "11", &size, &exp);
|
||
rsa = rsa_generate(NUM2INT(size), NIL_P(exp) ? RSA_F4 : NUM2INT(exp)); /* err handled by rsa_instance */
|
||
rsa = rsa_generate(NUM2INT(size), NIL_P(exp) ? RSA_F4 : NUM2ULONG(exp)); /* err handled by rsa_instance */
|
||
obj = rsa_instance(klass, rsa);
|
||
if (obj == Qfalse) {
|
||
... | ... | |
rsa = RSA_new();
|
||
}
|
||
else if (FIXNUM_P(arg)) {
|
||
rsa = rsa_generate(FIX2INT(arg), NIL_P(pass) ? RSA_F4 : NUM2INT(pass));
|
||
rsa = rsa_generate(FIX2INT(arg), NIL_P(pass) ? RSA_F4 : NUM2ULONG(pass));
|
||
if (!rsa) ossl_raise(eRSAError, NULL);
|
||
}
|
||
else {
|