Commit a54dc1a

mokha <mo@mokhan.ca>
2019-01-23 00:45:17
fix linter errors.
1 parent 67ecfd1
lib/xml/kit/encryption.rb
@@ -20,15 +20,8 @@ module Xml
         symmetric_cipher = symmetric(symmetric_algorithm)
         @symmetric_cipher_value = Base64.strict_encode64(symmetric_cipher.encrypt(raw_xml))
 
-        if key_info
-          @key_info = key_info
-        else
-          @key_info = KeyInfo.new
-          @key_info.encrypted_key = EncryptedKey.new(public_key: public_key, key: symmetric_cipher.key, algorithm: asymmetric_algorithm)
-
-          @asymmetric_algorithm = asymmetric_algorithm
-          @asymmetric_cipher_value = @key_info.encrypted_key.cipher_value
-        end
+        @asymmetric_algorithm = asymmetric_algorithm
+        @key_info = key_info || create_key_info_for(public_key, symmetric_cipher, asymmetric_algorithm)
       end
 
       def to_xml(xml: ::Builder::XmlMarkup.new)
@@ -46,6 +39,13 @@ module Xml
 
         ::Xml::Kit::Crypto::SymmetricCipher.new(algorithm)
       end
+
+      def create_key_info_for(public_key, symmetric_cipher, asymmetric_algorithm)
+        key_info = KeyInfo.new
+        key_info.encrypted_key = EncryptedKey.new(public_key: public_key, key: symmetric_cipher.key, algorithm: asymmetric_algorithm)
+        @asymmetric_cipher_value = key_info.encrypted_key.cipher_value
+        key_info
+      end
     end
   end
 end
lib/xml/kit/key_info.rb
@@ -33,10 +33,10 @@ module Xml
       end
 
       def subject_key_identifier
-        ski = x509_data.extensions.find { |x| x.oid == "subjectKeyIdentifier" }&.value
+        ski = x509_data.extensions.find { |x| x.oid == 'subjectKeyIdentifier' }
         return if ski.nil?
 
-        Base64.strict_encode64(ski)
+        Base64.strict_encode64(ski.value)
       end
     end
   end
lib/xml/kit/self_signed_certificate.rb
@@ -30,13 +30,15 @@ module Xml
         certificate.public_key = public_key
         certificate.serial = 0x0
         certificate.version = 2
+        apply_ski_extension_to(certificate)
+        certificate
+      end
 
+      def apply_ski_extension_to(certificate)
         extension_factory = OpenSSL::X509::ExtensionFactory.new
         extension_factory.subject_certificate = certificate
         extension_factory.issuer_certificate = certificate
         certificate.add_extension(extension_factory.create_extension('subjectKeyIdentifier', 'hash', false))
-
-        certificate
       end
     end
   end
lib/xml/kit/templatable.rb
@@ -33,17 +33,15 @@ module Xml
       end
 
       def encrypt_data_for(xml:, key_info: nil)
-        if encrypt?
-          temp = ::Builder::XmlMarkup.new
-          yield temp
-          ::Xml::Kit::Encryption.new(
-            signatures.complete(temp.target!),
-            encryption_certificate.public_key,
-            key_info: key_info
-          ).to_xml(xml: xml)
-        else
-          yield xml
-        end
+        return yield xml unless encrypt?
+
+        temp = ::Builder::XmlMarkup.new
+        yield temp
+        ::Xml::Kit::Encryption.new(
+          signatures.complete(temp.target!),
+          encryption_certificate.public_key,
+          key_info: key_info
+        ).to_xml(xml: xml)
       end
 
       def render(model, options)
spec/xml/kit/soap_spec.rb
@@ -1,6 +1,6 @@
-RSpec.describe 'Soap Example' do
+RSpec.describe Soap do
   describe '#to_xml' do
-    subject { Soap.new }
+    subject { described_class.new }
 
     let(:result) { Hash.from_xml(subject.to_xml) }