Commit 39a6541

mo <mo@mokhan.ca>
2017-12-11 22:27:52
move files to builders namespace.
1 parent d750290
lib/saml/kit/builders/xml_encryption.rb
@@ -0,0 +1,20 @@
+module Saml
+  module Kit
+    module Builders
+      class XmlEncryption
+        attr_reader :public_key
+        attr_reader :key, :iv, :encrypted
+
+        def initialize(raw_xml, public_key)
+          @public_key = public_key
+          cipher = OpenSSL::Cipher.new('AES-256-CBC')
+          cipher.encrypt
+          @key = cipher.random_key
+          @iv = cipher.random_iv
+          @encrypted = cipher.update(raw_xml) + cipher.final
+        end
+      end
+    end
+  end
+end
+
lib/saml/kit/builders/xml_signature.rb
@@ -0,0 +1,41 @@
+module Saml
+  module Kit
+    module Builders
+      class XmlSignature
+        SIGNATURE_METHODS = {
+          SHA1: "http://www.w3.org/2000/09/xmldsig#rsa-sha1",
+          SHA224: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha224",
+          SHA256: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256",
+          SHA384: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha384",
+          SHA512: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha512",
+        }.freeze
+        DIGEST_METHODS = {
+          SHA1: "http://www.w3.org/2000/09/xmldsig#SHA1",
+          SHA224: "http://www.w3.org/2001/04/xmldsig-more#sha224",
+          SHA256: "http://www.w3.org/2001/04/xmlenc#sha256",
+          SHA384: "http://www.w3.org/2001/04/xmldsig-more#sha384",
+          SHA512: "http://www.w3.org/2001/04/xmlenc#sha512",
+        }.freeze
+
+        attr_reader :sign, :configuration
+        attr_reader :reference_id
+        attr_reader :stripped_signing_certificate
+
+        def initialize(reference_id, configuration:, sign: true)
+          @configuration = configuration
+          @reference_id = reference_id
+          @sign = sign
+          @stripped_signing_certificate = configuration.stripped_signing_certificate
+        end
+
+        def signature_method
+          SIGNATURE_METHODS[configuration.signature_method]
+        end
+
+        def digest_method
+          DIGEST_METHODS[configuration.digest_method]
+        end
+      end
+    end
+  end
+end
lib/saml/kit/builders.rb
@@ -4,6 +4,8 @@ require 'saml/kit/builders/logout_request'
 require 'saml/kit/builders/logout_response'
 require 'saml/kit/builders/response'
 require 'saml/kit/builders/service_provider_metadata'
+require 'saml/kit/builders/xml_encryption'
+require 'saml/kit/builders/xml_signature'
 
 module Saml
   module Kit
lib/saml/kit/signatures.rb
@@ -9,7 +9,7 @@ module Saml
       end
 
       def build(reference_id)
-        XmlSignature.new(reference_id, configuration: configuration, sign: sign)
+        Saml::Kit::Builders::XmlSignature.new(reference_id, configuration: configuration, sign: sign)
       end
 
       def complete(raw_xml)
lib/saml/kit/templatable.rb
@@ -18,7 +18,7 @@ module Saml
         if encrypt && encryption_certificate
           temp = ::Builder::XmlMarkup.new
           yield temp
-          xml_encryption = XmlEncryption.new(temp.target!, encryption_certificate.public_key)
+          xml_encryption = Saml::Kit::Builders::XmlEncryption.new(temp.target!, encryption_certificate.public_key)
           Template.new(xml_encryption).to_xml(xml: xml)
         else
           yield xml
lib/saml/kit/xml_encryption.rb
@@ -1,18 +0,0 @@
-module Saml
-  module Kit
-    class XmlEncryption
-      attr_reader :public_key
-      attr_reader :key, :iv, :encrypted
-
-      def initialize(raw_xml, public_key)
-        @public_key = public_key
-        cipher = OpenSSL::Cipher.new('AES-256-CBC')
-        cipher.encrypt
-        @key = cipher.random_key
-        @iv = cipher.random_iv
-        @encrypted = cipher.update(raw_xml) + cipher.final
-      end
-    end
-  end
-end
-
lib/saml/kit/xml_signature.rb
@@ -1,39 +0,0 @@
-module Saml
-  module Kit
-    class XmlSignature
-      SIGNATURE_METHODS = {
-        SHA1: "http://www.w3.org/2000/09/xmldsig#rsa-sha1",
-        SHA224: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha224",
-        SHA256: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256",
-        SHA384: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha384",
-        SHA512: "http://www.w3.org/2001/04/xmldsig-more#rsa-sha512",
-      }.freeze
-      DIGEST_METHODS = {
-        SHA1: "http://www.w3.org/2000/09/xmldsig#SHA1",
-        SHA224: "http://www.w3.org/2001/04/xmldsig-more#sha224",
-        SHA256: "http://www.w3.org/2001/04/xmlenc#sha256",
-        SHA384: "http://www.w3.org/2001/04/xmldsig-more#sha384",
-        SHA512: "http://www.w3.org/2001/04/xmlenc#sha512",
-      }.freeze
-
-      attr_reader :sign, :configuration
-      attr_reader :reference_id
-      attr_reader :stripped_signing_certificate
-
-      def initialize(reference_id, configuration:, sign: true)
-        @configuration = configuration
-        @reference_id = reference_id
-        @sign = sign
-        @stripped_signing_certificate = configuration.stripped_signing_certificate
-      end
-
-      def signature_method
-        SIGNATURE_METHODS[configuration.signature_method]
-      end
-
-      def digest_method
-        DIGEST_METHODS[configuration.digest_method]
-      end
-    end
-  end
-end
lib/saml/kit.rb
@@ -48,8 +48,6 @@ require "saml/kit/signatures"
 require "saml/kit/template"
 require "saml/kit/xml"
 require "saml/kit/xml_decryption"
-require "saml/kit/xml_encryption"
-require "saml/kit/xml_signature"
 
 I18n.load_path += Dir[File.expand_path("kit/locales/*.yml", File.dirname(__FILE__))]