Sha256: 2004ce3dceb24b3ab39b5fdb3dce2b15b4f5f66c60eb7fb3893108423ede292a
Contents?: true
Size: 1.06 KB
Versions: 2
Compression:
Stored size: 1.06 KB
Contents
# frozen_string_literal: true module Xml module Kit class Encryption attr_reader :asymmetric_algorithm attr_reader :asymmetric_cipher_value attr_reader :symmetric_algorithm attr_reader :symmetric_cipher_value def initialize( raw_xml, public_key, symmetric_algorithm: ::Xml::Kit::Crypto::SymmetricCipher::DEFAULT_ALGORITHM, asymmetric_algorithm: ::Xml::Kit::Crypto::RsaCipher::ALGORITHM ) @symmetric_algorithm = symmetric_algorithm @symmetric_cipher_value = Base64.encode64(symmetric_cipher.encrypt(raw_xml)).delete("\n") @asymmetric_algorithm = asymmetric_algorithm @asymmetric_cipher_value = Base64.encode64(public_key.public_encrypt(symmetric_cipher.key)).delete("\n") end def to_xml(xml: ::Builder::XmlMarkup.new) ::Xml::Kit::Template.new(self).to_xml(xml: xml) end private def symmetric_cipher @symmetric_cipher ||= ::Xml::Kit::Crypto::SymmetricCipher.new( symmetric_algorithm ) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
xml-kit-0.1.13 | lib/xml/kit/encryption.rb |
xml-kit-0.1.12 | lib/xml/kit/encryption.rb |