Sha256: d59765abb3da3b4e43df07e5c4a1f8d1d05d21083b16d7356a46fe9cfe42bc0d

Contents?: true

Size: 1.13 KB

Versions: 3

Compression:

Stored size: 1.13 KB

Contents

require 'spec_helper'

describe "encryption and decryption:" do
  subject do
    Nokogiri::XML(fixture('sign2-doc.xml'))
  end

  [ 'aes128-cbc', 'aes192-cbc', 'aes256-cbc', 'tripledes-cbc' ].each do |block_encryption|
    [ 'rsa-1_5', 'rsa-oaep-mgf1p' ].each do |key_transport|
      describe "encrypting with an RSA public key with #{block_encryption} #{key_transport}" do
        before do
          @original = subject.to_s
          subject.encrypt!(
            key: fixture('rsa.pub'), name: 'test',
            block_encryption: block_encryption, key_transport: key_transport)
        end

        # it generates a new key every time so will never match the fixture
        specify { expect(subject.to_s == @original).to be_falsey }
        specify { expect(subject.to_s =~ /Hello.*World/i).to be_falsey }
        # specify { subject.to_s.should == fixture('encrypt2-result.xml') }

        describe 'decrypting with the RSA private key' do
          before do
            subject.decrypt! key: fixture('rsa.pem')
          end

          specify { expect(subject.to_s == fixture('sign2-doc.xml')).to be_truthy }
        end
      end
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
nokogiri-xmlsec-instructure-0.9.6 spec/lib/nokogiri/xml/document/encryption_and_decryption_spec.rb
nokogiri-xmlsec-instructure-0.9.5 spec/lib/nokogiri/xml/document/encryption_and_decryption_spec.rb
nokogiri-xmlsec-instructure-0.9.4 spec/lib/nokogiri/xml/document/encryption_and_decryption_spec.rb