2016-07-22 90 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)