class Secret::RSA
Public Class Methods
decrypt(msg)
click to toggle source
# File lib/secret/rsa.rb, line 20 def self.decrypt(msg) rsa.decrypt msg end
encrypt(msg)
click to toggle source
# File lib/secret/rsa.rb, line 16 def self.encrypt(msg) rsa.encrypt msg end
new()
click to toggle source
# File lib/secret/rsa.rb, line 7 def initialize init_private_key init_public_key end
rsa()
click to toggle source
# File lib/secret/rsa.rb, line 12 def self.rsa @rsa ||= self.new end
sign(msg)
click to toggle source
# File lib/secret/rsa.rb, line 24 def self.sign(msg) rsa.sign msg end
verify_sign(signed_msg, origin_msg)
click to toggle source
# File lib/secret/rsa.rb, line 28 def self.verify_sign(signed_msg, origin_msg) rsa.verify_sign signed_msg, origin_msg end
Public Instance Methods
decrypt(msg)
click to toggle source
# File lib/secret/rsa.rb, line 36 def decrypt(msg) pri_k.private_decrypt decode_if_need(msg) end
encrypt(msg)
click to toggle source
# File lib/secret/rsa.rb, line 32 def encrypt(msg) encode_if_need pub_k.public_encrypt(msg) end
sign(msg)
click to toggle source
# File lib/secret/rsa.rb, line 40 def sign(msg) encode_if_need pri_k.sign(Secret.conf.hash_mode, msg) end
verify_sign(signed_msg, origin_msg)
click to toggle source
# File lib/secret/rsa.rb, line 44 def verify_sign(signed_msg, origin_msg) pub_k.verify Secret.conf.hash_mode, decode_if_need(signed_msg), origin_msg end
Private Instance Methods
init_private_key(path = Secret.conf.rsa_pri_key_path, pwd = Secret.conf.rsa_pwd)
click to toggle source
# File lib/secret/rsa.rb, line 50 def init_private_key(path = Secret.conf.rsa_pri_key_path, pwd = Secret.conf.rsa_pwd) raise 'Private pem path can not be nil !' if path.to_s == '' @private_key ||= OpenSSL::PKey::RSA.new(File.read(path), pwd) end
init_public_key(path = Secret.conf.rsa_pub_key_path)
click to toggle source
# File lib/secret/rsa.rb, line 55 def init_public_key(path = Secret.conf.rsa_pub_key_path) raise 'Public pem path can not be nil !' if path.to_s == '' @public_key ||= OpenSSL::PKey::RSA.new(File.read(path)) end
pri_k()
click to toggle source
# File lib/secret/rsa.rb, line 60 def pri_k @private_key end
pub_k()
click to toggle source
# File lib/secret/rsa.rb, line 64 def pub_k @public_key end