有一个私有DSA密钥,我有参数'p','q','g'和'x',这些参数在我们系统的另一个用另一种语言编写的组件中进行了硬编码。
我想尝试在Ruby中复制这个逻辑。
我注意到如果我创建一个 new 键:
irb(main):001:0> require 'openssl'
=> true
irb(main):002:0> key = OpenSSL::PKey::DSA.generate(1024)
=> #<OpenSSL::PKey::DSA:0x007fc756006020>
irb(main):003:0> key.params
=> {"p"=>#<OpenSSL::BN:0x007fc75404e250>, "q"=>#<OpenSSL::BN:0x007fc75404e1d8>, "g"=>#<OpenSSL::BN:0x007fc75404e160>, "pub_key"=>#<OpenSSL::BN:0x007fc75404e0e8>, "priv_key"=>#<OpenSSL::BN:0x007fc75404e070>}
这似乎暗示参数与我们在其他代码中的相同内容......
因为我知道我想要这些设置的值,所以有一些方法,用这些参数创建OpenSSL::PKey::DSA
的实例吗?