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