Class: KStor::Model::KeychainItem
Overview
Instance Attribute Summary collapse
-
#encrypted_privk ⇒ Object
Returns value of property encrypted_privk.
-
#group_id ⇒ Object
Returns value of property group_id.
-
#group_pubk ⇒ Object
Returns value of property group_pubk.
-
#privk ⇒ Object
Returns value of property privk.
Instance Method Summary collapse
-
#encrypt(user_pubk) ⇒ Object
Re-encrypt group private key.
-
#lock ⇒ Object
Forget about decrypted group private key.
-
#locked? ⇒ Boolean
Check if group private key was decrypted.
-
#to_h ⇒ Object
Dump properties except #encrypted_privk.
-
#unlock(group_pubk, user_privk) ⇒ Object
Decrypt group private key.
-
#unlocked? ⇒ Boolean
Check if group private key was decrypted.
Methods inherited from Base
#clean, #dirty?, #initialize, property, property?
Constructor Details
This class inherits a constructor from KStor::Model::Base
Instance Attribute Details
#encrypted_privk ⇒ Object
Returns value of property encrypted_privk
106 |
# File 'lib/kstor/model.rb', line 106 property :encrypted_privk |
#group_id ⇒ Object
Returns value of property group_id
102 |
# File 'lib/kstor/model.rb', line 102 property :group_id |
#group_pubk ⇒ Object
Returns value of property group_pubk
104 |
# File 'lib/kstor/model.rb', line 104 property :group_pubk |
#privk ⇒ Object
Returns value of property privk
108 |
# File 'lib/kstor/model.rb', line 108 property :privk |
Instance Method Details
#encrypt(user_pubk) ⇒ Object
Re-encrypt group private key.
Calling this will overwrite the #encrypted_privk property.
128 129 130 131 132 |
# File 'lib/kstor/model.rb', line 128 def encrypt(user_pubk) self.encrypted_privk = Crypto.encrypt_group_privk( user_pubk, privk, privk ) end |
#lock ⇒ Object
Forget about decrypted group private key.
This will unset #privk property.
137 138 139 |
# File 'lib/kstor/model.rb', line 137 def lock self.privk = nil end |
#locked? ⇒ Boolean
Check if group private key was decrypted.
144 145 146 |
# File 'lib/kstor/model.rb', line 144 def locked? privk.nil? end |
#to_h ⇒ Object
Dump properties except #encrypted_privk.
156 157 158 159 160 |
# File 'lib/kstor/model.rb', line 156 def to_h h = super h.delete('encrypted_privk') h end |
#unlock(group_pubk, user_privk) ⇒ Object
Decrypt group private key.
Calling this method will set the #privk property.
116 117 118 119 120 |
# File 'lib/kstor/model.rb', line 116 def unlock(group_pubk, user_privk) self.privk = Crypto.decrypt_group_privk( group_pubk, user_privk, encrypted_privk ) end |
#unlocked? ⇒ Boolean
Check if group private key was decrypted.
151 152 153 |
# File 'lib/kstor/model.rb', line 151 def unlocked? !locked? end |