Class: ActiveCipherStorage::Providers::Base
- Inherits:
-
Object
- Object
- ActiveCipherStorage::Providers::Base
- Defined in:
- lib/active_cipher_storage/providers/base.rb
Direct Known Subclasses
Instance Method Summary collapse
-
#decrypt_data_key(encrypted_key) ⇒ Object
Returns the plaintext DEK (32 bytes).
-
#generate_data_key ⇒ Object
Returns { plaintext_key: String (32 bytes), encrypted_key: String }.
-
#key_id ⇒ Object
Stable identifier for the specific key material in use (e.g. CMK ARN, env var name).
-
#provider_id ⇒ Object
Short ASCII string embedded in every encrypted file header.
Instance Method Details
#decrypt_data_key(encrypted_key) ⇒ Object
Returns the plaintext DEK (32 bytes). Caller must zero it after use.
10 11 12 |
# File 'lib/active_cipher_storage/providers/base.rb', line 10 def decrypt_data_key(encrypted_key) raise NotImplementedError, "#{self.class}#decrypt_data_key is not implemented" end |
#generate_data_key ⇒ Object
Returns { plaintext_key: String (32 bytes), encrypted_key: String }
5 6 7 |
# File 'lib/active_cipher_storage/providers/base.rb', line 5 def generate_data_key raise NotImplementedError, "#{self.class}#generate_data_key is not implemented" end |
#key_id ⇒ Object
Stable identifier for the specific key material in use (e.g. CMK ARN, env var name). Stored in blob metadata for visibility. Return nil if your provider has no stable key identifier.
22 23 24 |
# File 'lib/active_cipher_storage/providers/base.rb', line 22 def key_id nil end |
#provider_id ⇒ Object
Short ASCII string embedded in every encrypted file header.
15 16 17 |
# File 'lib/active_cipher_storage/providers/base.rb', line 15 def provider_id raise NotImplementedError, "#{self.class}#provider_id is not implemented" end |