Ruby错误“bignum太大而无法转换成长”

时间:2016-07-22 02:34:30

标签: ruby openssl rsa long-integer bignum

我正在尝试使用以下命令在ruby中生成RSA密钥对:

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

但是我收到以下错误:

bignum too big to convert into long

然而,它使用RSA.construct在python中工作。有没有办法在红宝石中工作?我到处都看。真的迷失在这里。我不是一次只尝试这个数字的一​​部分,我需要能够将整数传递给RSA.generate

1 个答案:

答案 0 :(得分:1)

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

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