2016-07-22 38 views
0

我试图产生红宝石RSA密钥有:红宝石错误“BIGNUM太大转换成长”

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

,但我收到以下错误:

bignum too big to convert into long

但是它在Python中使用RSA.construct。有没有办法让这个工作在红宝石?我到处寻找。真的迷失在这里。我并不想只取这个数字的一​​部分的时间,我需要能够将整数传递给RSA.generate

+0

@jww这不是一个重复的问题,这个问题是关于在一个字符串中只处理一个长数字的一部分,我需要在一个peice中传递整个数字 –

+0

好吧,接受你的话。对于那个很抱歉。请*编辑*问题,并提供更多的代码。 ***'aReallyLongBignum' ***需要用样本值完全指定。 (Origianl dup引用:[RangeError:bignum太大而无法转换为'long'](http://stackoverflow.com/q/10024212))。 – jww

回答

0

我能够这样使用OpenSSL::BN和创造的OpenSSL::Pkey::RSA

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