1
我最近遇到这种情况,我需要使用方法OpenSSL::PKey::RSA#params
时,我需要绝对。但是,该文档说明如下:使用“不安全的”OpenSSL方法时的私钥安全性
此方法是INSECURE,私人信息可能泄漏!
...
不要使用:-))(这是给你)
这是什么意思?私钥在RSA密钥的实例中通常如何受保护,这与任何常规对象有什么不同?
我能否阻止通过做这样的事情,该方法仅一个lambda中访问信息泄露:
private_key = OpenSSL::PKey::RSA.generate(2048)
save_private = lambda do
key = OpenSSL::Digest::SHA512.new.digest("password")
aes = OpenSSL::Cipher.new("AES-256-CFB")
iv = OpenSSL::Random.random_bytes(aes.iv_len)
aes.encrypt
aes.key, aes.iv = key, iv
aes.update(private_key.params.to_s) + aes.final
end
private_enc, save_private = save_private.call, nil
而且,如果这个安全问题有什么关系变量在内存中等待GC挥之不去,可以强制垃圾收集使事情更安全?
GC.start
在此先感谢任何人可以清除此问题。
我的回答里有什么缺失,louism? – 2013-02-21 01:48:36