Class: Xml::Kit::Encryption

Inherits:
Object
  • Object
show all
Defined in:
lib/xml/kit/encryption.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(raw_xml, public_key, symmetric_algorithm: ::Xml::Kit::Crypto::SymmetricCipher::DEFAULT_ALGORITHM, asymmetric_algorithm: ::Xml::Kit::Crypto::RsaCipher::ALGORITHM) ⇒ Encryption

Returns a new instance of Encryption.



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/xml/kit/encryption.rb', line 11

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

Instance Attribute Details

#asymmetric_algorithmObject (readonly)

Returns the value of attribute asymmetric_algorithm.



6
7
8
# File 'lib/xml/kit/encryption.rb', line 6

def asymmetric_algorithm
  @asymmetric_algorithm
end

#asymmetric_cipher_valueObject (readonly)

Returns the value of attribute asymmetric_cipher_value.



7
8
9
# File 'lib/xml/kit/encryption.rb', line 7

def asymmetric_cipher_value
  @asymmetric_cipher_value
end

#symmetric_algorithmObject (readonly)

Returns the value of attribute symmetric_algorithm.



8
9
10
# File 'lib/xml/kit/encryption.rb', line 8

def symmetric_algorithm
  @symmetric_algorithm
end

#symmetric_cipher_valueObject (readonly)

Returns the value of attribute symmetric_cipher_value.



9
10
11
# File 'lib/xml/kit/encryption.rb', line 9

def symmetric_cipher_value
  @symmetric_cipher_value
end

Instance Method Details

#to_xml(xml: ::Builder::XmlMarkup.new) ⇒ Object



24
25
26
# File 'lib/xml/kit/encryption.rb', line 24

def to_xml(xml: ::Builder::XmlMarkup.new)
  ::Xml::Kit::Template.new(self).to_xml(xml: xml)
end