Ruby 错误 "bignum too big to convert into long"

Ruby error "bignum too big to convert into long"

我正在尝试在 ruby 中生成一个 RSA 密钥对:

OpenSSL::PKey::RSA.generate(aReallyLongBignum, 65537)

但我收到以下错误:

bignum too big to convert into long

但是它在 python 中使用 RSA.construct 有效。有什么方法可以在 ruby 中使用它吗?我到处都看过了。真的迷失在这里。我不想一次只取这个数字的一​​部分,我需要能够将整个数字传递给 RSA.generate

我能够使用 OpenSSL::BN 解决这个问题,并在创建 OpenSSL::Pkey::RSA

的实例后设置它
key   = OpenSSL::PKey::RSA.new
key.e = OpenSSL::BN.new(65537)
key.n = OpenSSL::BN.new(aReallyLongBignum)