From 02c32b6553d5e428810527fe975bf4e195cdb2ce Mon Sep 17 00:00:00 2001 From: MAEDA Go Date: Tue, 28 Feb 2017 13:35:36 +0900 Subject: [PATCH 2/3] Ruby 2.4: Fixed "key must be 32 bytes" error of OpenSSL::Cipher --- lib/redmine/ciphering.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/redmine/ciphering.rb b/lib/redmine/ciphering.rb index 9257336..3d9f9ee 100644 --- a/lib/redmine/ciphering.rb +++ b/lib/redmine/ciphering.rb @@ -26,7 +26,7 @@ module Redmine if cipher_key.blank? || text.blank? text else - c = OpenSSL::Cipher::Cipher.new("aes-256-cbc") + c = OpenSSL::Cipher.new("aes-256-cbc") iv = c.random_iv c.encrypt c.key = cipher_key @@ -44,7 +44,7 @@ module Redmine return text end text = match[1] - c = OpenSSL::Cipher::Cipher.new("aes-256-cbc") + c = OpenSSL::Cipher.new("aes-256-cbc") e, iv = text.split("--").map {|s| Base64.decode64(s)} c.decrypt c.key = cipher_key @@ -58,9 +58,9 @@ module Redmine def cipher_key key = Redmine::Configuration['database_cipher_key'].to_s - key.blank? ? nil : Digest::SHA256.hexdigest(key) + key.blank? ? nil : Digest::SHA256.hexdigest(key)[0..31] end - + def logger Rails.logger end @@ -84,8 +84,8 @@ module Redmine object.send :write_attribute, attribute, clear raise(ActiveRecord::Rollback) unless object.save(:validation => false) end - end - end ? true : false + end ? true : false + end end private -- 2.10.1 (Apple Git-78)