From e7d03ce613f0c62547f47fc55ad379c48b4b9e57 Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Wed, 28 Jun 2017 13:01:11 -0700 Subject: [PATCH] store crt/key in der format in redis record when changed --- models/site.rb | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/models/site.rb b/models/site.rb index 54c6d842..a122d9ce 100644 --- a/models/site.rb +++ b/models/site.rb @@ -827,6 +827,7 @@ class Site < Sequel::Model end def after_save + store_ssl_in_redis_proxy if @_ssl_changed save_tags super end @@ -1380,7 +1381,24 @@ class Site < Sequel::Model end def ssl_installed? - ssl_key && ssl_cert + domain && ssl_key && ssl_cert + end + + def ssl_key=(val) + @_ssl_changed = true + values[:ssl_key] = val + end + + def ssl_cert=(val) + @_ssl_changed = true + values[:ssl_cert] = val + end + + def store_ssl_in_redis_proxy + return false unless ssl_installed? + $redis_proxy.hset "ssl-#{domain}", 'crt', OpenSSL::X509::Certificate.new(ssl_cert).to_der + $redis_proxy.hset "ssl-#{domain}", 'key', OpenSSL::PKey::RSA.new(ssl_key).to_der + true end def to_rss