Hi,
I'm writing a little code to do some RSA stuff and I need to extract the
public exponent and modulus for passing to a browser that will use them
in Javascript.
I've done considerable digging but have drawn a blank as I can't find
any complete documentation of the full RSA class definition.
This generates a new key and assigns the private key to a variable. I'd
like to get the public exponent and modulus returned as a hex encoded
string, similar to the output of "openssl rsa -noout -modulus"
However, I can't find suitable documentation so I don't know what method
(if any) I can use. I'd hoped for "key.public_key.n.to_h" but that does
not seem to work.
So, If anyone can give advice I'd appreciate it!
Also, A general question: how do I look up class definitions of
"standard" classes that are not documented in RDoc? Is there something
similar to a C header file? (sorry, I'm quite new to Ruby).
On Wed, Aug 08, 2007 at 07:05:22AM +0900, Starfry Starfry wrote:
Hi,
I'm writing a little code to do some RSA stuff and I need to extract the
public exponent and modulus for passing to a browser that will use them
in Javascript.
I've done considerable digging but have drawn a blank as I can't find
any complete documentation of the full RSA class definition.
This generates a new key and assigns the private key to a variable. I'd
like to get the public exponent and modulus returned as a hex encoded
string, similar to the output of "openssl rsa -noout -modulus"
However, I can't find suitable documentation so I don't know what method
(if any) I can use. I'd hoped for "key.public_key.n.to_h" but that does
not seem to work.
I could not get pack to work as you described. My code is below. I have
taken a different tack, to get my Javaption side to work with the
modulus and exponent in decimal.
I'm pretty sure that you can't extract the inverse from a public key.
The whole point of a public/private key pair is that it's extremely
difficult to compute the private key from the public key.
···
On 12/13/07, Shandy Nantz <shandybleu@yahoo.com> wrote:
yermej wrote:
> On Dec 13, 9:24 am, Shandy Nantz <shandyb...@yahoo.com> wrote:
>> > @public_modulus = session[:public_modulus]
>> Did this ever get resolved? This is the exact problem that I am trying
>> to solve. Thanks,
>>
>> -S
>> --
>> Posted viahttp://www.ruby-forum.com/.
>
> This seems to work if you want it as a hex string:
>
> key = OpenSSL::PKey::RSA.new(1024)
> private_key = key.to_pem
> public_modulus = key.public_key.n.to_s(16)
> public_exponent = key.public_key.e.to_s(16)
This does work thank you. Does anyone know how to get at all the parts
that make up a public key such as the inverse? Thanks