class Xml::Kit::EncryptedData
An implementation of the EncryptedKey
element. www.w3.org/TR/xmlenc-core1/#sec-EncryptedData
@since 0.3.0
Attributes
id[R]
key_info[R]
symmetric_cipher[R]
symmetric_cipher_value[R]
Public Class Methods
new(raw_xml, id: Id.generate, symmetric_cipher: nil, asymmetric_cipher: nil, key_info: nil)
click to toggle source
# File lib/xml/kit/encrypted_data.rb, line 15 def initialize(raw_xml, id: Id.generate, symmetric_cipher: nil, asymmetric_cipher: nil, key_info: nil) @id = id @symmetric_cipher = symmetric_cipher || key_info.try(:symmetric_cipher) || Xml::Kit::Crypto::SymmetricCipher.new @symmetric_cipher_value = Base64.strict_encode64( @symmetric_cipher.encrypt(raw_xml) ) @key_info = key_info || create_key_info_for(@symmetric_cipher, asymmetric_cipher) end
Public Instance Methods
render(model, options)
click to toggle source
# File lib/xml/kit/encrypted_data.rb, line 35 def render(model, options) ::Xml::Kit::Template.new(model).to_xml(options) end
to_xml(xml: ::Builder::XmlMarkup.new)
click to toggle source
# File lib/xml/kit/encrypted_data.rb, line 31 def to_xml(xml: ::Builder::XmlMarkup.new) ::Xml::Kit::Template.new(self).to_xml(xml: xml) end
Private Instance Methods
create_key_info_for(symmetric_cipher, asymmetric_cipher)
click to toggle source
# File lib/xml/kit/encrypted_data.rb, line 41 def create_key_info_for(symmetric_cipher, asymmetric_cipher) KeyInfo.new do |x| x.encrypted_key = EncryptedKey.new( asymmetric_cipher: asymmetric_cipher, symmetric_cipher: symmetric_cipher ) end end