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 {
|
||