class SecretX::RSA
Public Class Methods
decrypt(msg)
click to toggle source
# File lib/secretx/rsa.rb, line 17 def self.decrypt(msg) rsa.decrypt msg end
encrypt(msg)
click to toggle source
# File lib/secretx/rsa.rb, line 13 def self.encrypt(msg) rsa.encrypt msg end
new()
click to toggle source
# File lib/secretx/rsa.rb, line 4 def initialize init_private_key init_public_key end
rsa()
click to toggle source
# File lib/secretx/rsa.rb, line 9 def self.rsa @rsa ||= self.new end
sign(msg)
click to toggle source
# File lib/secretx/rsa.rb, line 21 def self.sign(msg) rsa.sign msg end
verify_sign(signed_msg, origin_msg)
click to toggle source
# File lib/secretx/rsa.rb, line 25 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/secretx/rsa.rb, line 33 def decrypt(msg) pri_k.private_decrypt decode_if_need(msg) end
encrypt(msg)
click to toggle source
# File lib/secretx/rsa.rb, line 29 def encrypt(msg) encode_if_need pub_k.public_encrypt(msg) end
sign(msg)
click to toggle source
# File lib/secretx/rsa.rb, line 37 def sign(msg) encode_if_need pri_k.sign(SecretX.conf.hash_mode, msg) end
verify_sign(signed_msg, origin_msg)
click to toggle source
# File lib/secretx/rsa.rb, line 41 def verify_sign(signed_msg, origin_msg) pub_k.verify SecretX.conf.hash_mode, decode_if_need(signed_msg), origin_msg end
Private Instance Methods
init_private_key(path = SecretX.conf.rsa_pri_key_path, pwd = SecretX.conf.rsa_pwd)
click to toggle source
# File lib/secretx/rsa.rb, line 47 def init_private_key(path = SecretX.conf.rsa_pri_key_path, pwd = SecretX.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 = SecretX.conf.rsa_pub_key_path)
click to toggle source
# File lib/secretx/rsa.rb, line 52 def init_public_key(path = SecretX.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/secretx/rsa.rb, line 57 def pri_k @private_key end
pub_k()
click to toggle source
# File lib/secretx/rsa.rb, line 61 def pub_k @public_key end