diff options
author | Alexis Reigel <mail@koffeinfrei.org> | 2017-02-22 18:36:25 +0100 |
---|---|---|
committer | Alexis Reigel <mail@koffeinfrei.org> | 2017-07-27 15:40:41 +0200 |
commit | 87c0fd34557463528a552986a42f4ebb52d3bd56 (patch) | |
tree | 18b35c83421e8a96d4ec49bc248750d9d536b58c /app | |
parent | e34cef0cd2fcf9a01d3f3b6dd215bbcc25d65d27 (diff) | |
download | gitlab-ce-87c0fd34557463528a552986a42f4ebb52d3bd56.tar.gz |
add / remove gpg keys to / from system keychain
Diffstat (limited to 'app')
-rw-r--r-- | app/models/gpg_key.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/app/models/gpg_key.rb b/app/models/gpg_key.rb index aa0e8883a47..a9f1400650c 100644 --- a/app/models/gpg_key.rb +++ b/app/models/gpg_key.rb @@ -19,6 +19,8 @@ class GpgKey < ActiveRecord::Base unless: -> { errors.has_key?(:key) } before_validation :extract_fingerprint + after_create :add_to_keychain + after_destroy :remove_from_keychain def key=(value) value.strip! unless value.blank? @@ -37,4 +39,12 @@ class GpgKey < ActiveRecord::Base # only allows one key self.fingerprint = Gitlab::Gpg.fingerprints_from_key(key).first end + + def add_to_keychain + Gitlab::Gpg.add_to_keychain(key) + end + + def remove_from_keychain + Gitlab::Gpg.remove_from_keychain(fingerprint) + end end |