class Fuyou::Ca
Public Class Methods
sign_in()
click to toggle source
CA 签到
# File lib/fuyou/ca.rb, line 7 def sign_in pfx_string = read_pfx_string ca_key = Digest::MD5.hexdigest(Fuyou.config.ca_key) password_key = Digest::MD5.hexdigest(Fuyou.config.password_key) options = { pfxstr: des_encrypt(pfx_string, ca_key), customId: Fuyou.config.custom_id, password: des_encrypt(Fuyou.config.ca_password, password_key) } response = http_post('/FuyouRest/sign/signIn', options, skip_sign: true) Fuyou.config.token = response['data']['key'] Fuyou.config.expired_at = DateTime.now + 11.5.hour end
sign_out()
click to toggle source
CA 签退
# File lib/fuyou/ca.rb, line 24 def sign_out http_post('/FuyouRest/sign/signOut', customNo: Fuyou.config.custom_id) end
Private Class Methods
des_encrypt(des_text, des_key)
click to toggle source
DES 加密
# File lib/fuyou/ca.rb, line 37 def des_encrypt(des_text, des_key) des = OpenSSL::Cipher::Cipher.new("DES-ECB") des.encrypt des.key = des_key result = des.update(des_text) result << des.final Base64.strict_encode64(result).encode('UTF-8') end
read_pfx_string()
click to toggle source
读取pfx证书的内容 内容使用base64编码
# File lib/fuyou/ca.rb, line 32 def read_pfx_string Base64.strict_encode64(IO.read(Fuyou.config.certificate_path)) end