2016-07-22 10 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 link: [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)