Class: Xml::Kit::EncryptedKey
- Inherits:
-
Object
- Object
- Xml::Kit::EncryptedKey
show all
- Includes:
- Templatable
- Defined in:
- lib/xml/kit/encrypted_key.rb
Overview
Instance Attribute Summary collapse
Attributes included from Templatable
#digest_method, #embed_signature, #encrypt, #encryption_certificate, #signature_method, #signing_key_pair
Instance Method Summary
collapse
#encrypt_data_for, #encrypt_key_for, #encrypt_with, #encryption_for, #render, #sign_with, #signature_for, #to_xml
Constructor Details
#initialize(id: Id.generate, asymmetric_cipher: nil, symmetric_cipher: nil, key_info: nil) ⇒ EncryptedKey
Returns a new instance of EncryptedKey.
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/xml/kit/encrypted_key.rb', line 17
def initialize(id: Id.generate,
asymmetric_cipher: nil,
symmetric_cipher: nil,
key_info: nil)
@id = id
@asymmetric_cipher = asymmetric_cipher ||
key_info.try(:asymmetric_cipher)
@symmetric_cipher = symmetric_cipher ||
key_info.try(:symmetric_cipher) ||
Xml::Kit::Crypto::SymmetricCipher.new
@key_info = key_info
end
|
Instance Attribute Details
#asymmetric_cipher ⇒ Object
14
15
16
|
# File 'lib/xml/kit/encrypted_key.rb', line 14
def asymmetric_cipher
@asymmetric_cipher
end
|
#id ⇒ Object
13
14
15
|
# File 'lib/xml/kit/encrypted_key.rb', line 13
def id
@id
end
|
#key_info ⇒ Object
15
16
17
|
# File 'lib/xml/kit/encrypted_key.rb', line 15
def key_info
@key_info
end
|
#symmetric_cipher ⇒ Object
14
15
16
|
# File 'lib/xml/kit/encrypted_key.rb', line 14
def symmetric_cipher
@symmetric_cipher
end
|
Instance Method Details
#cipher_value ⇒ Object
30
31
32
|
# File 'lib/xml/kit/encrypted_key.rb', line 30
def cipher_value
Base64.strict_encode64(asymmetric_cipher.encrypt(symmetric_cipher.key))
end
|