spikex-strongbox 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/Rakefile CHANGED
@@ -31,7 +31,7 @@ spec = Gem::Specification.new do |s|
31
31
  s.authors = ["Spike Ilacqua"]
32
32
  s.email = "spike@stuff-things.net"
33
33
  s.homepage = "http://stuff-things.net/strongbox"
34
- s.files = FileList["[A-Z]*", "{lib,rails,test}/**/*"]
34
+ s.files = FileList["[A-Z]*", "init.rb", "{lib,rails,test}/**/*"]
35
35
  s.add_development_dependency 'thoughtbot-shoulda'
36
36
  end
37
37
 
data/init.rb ADDED
@@ -0,0 +1 @@
1
+ require 'strongbox'
@@ -64,7 +64,7 @@ module Strongbox
64
64
  ciphertext = Base64.decode64(ciphertext) if @base64
65
65
  private_key = OpenSSL::PKey::RSA.new(File.read(@private_key),password)
66
66
  if @symmetric == :always
67
- cipher = OpenSSL::Cipher::Cipher.new('aes-256-cbc')
67
+ cipher = OpenSSL::Cipher::Cipher.new(@symmetric_cipher)
68
68
  cipher.decrypt
69
69
  cipher.key = private_key.private_decrypt(@instance.read_attribute(@symmetric_key),@padding)
70
70
  cipher.iv = private_key.private_decrypt(@instance.read_attribute(@symmetric_iv),@padding)
data/lib/strongbox.rb CHANGED
@@ -5,7 +5,7 @@ require 'strongbox/lock'
5
5
 
6
6
  module Strongbox
7
7
 
8
- VERSION = "0.1.1"
8
+ VERSION = "0.1.2"
9
9
 
10
10
  RSA_PKCS1_PADDING = OpenSSL::PKey::RSA::PKCS1_PADDING
11
11
  RSA_SSLV23_PADDING = OpenSSL::PKey::RSA::SSLV23_PADDING
@@ -79,10 +79,25 @@ class StrongboxTest < Test::Unit::TestCase
79
79
  should 'Base64 encode the ciphertext' do
80
80
  # Base64 encoded text is limited to the charaters A–Z, a–z, and 0–9,
81
81
  # and is padded with 0 to 2 equal-signs
82
- assert @dummy.attributes['secret'] =~ /^[0-9A-Za-z+\/]+={0,2}$/
82
+ assert_match /^[0-9A-Za-z+\/]+={0,2}$/, @dummy.attributes['secret']
83
83
  end
84
84
  end
85
85
  end
86
+
87
+ context "using blowfish cipher instead of AES" do
88
+ setup do
89
+ rebuild_class(:key_pair => File.join(FIXTURES_DIR,'keypair.pem'),
90
+ :symmetric_cipher => 'bf-cbc')
91
+ @dummy = Dummy.new
92
+ @dummy.secret = 'Shhhh'
93
+ end
94
+
95
+ should "encrypt the data" do
96
+ assert_not_equal @dummy.attributes['secret'], 'Shhhh'
97
+ assert_equal "*encrypted*", @dummy.secret.decrypt
98
+ assert_equal "Shhhh", @dummy.secret.decrypt('boost facile')
99
+ end
100
+ end
86
101
  end
87
102
 
88
103
  context "when a key_pair is not provided" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spikex-strongbox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Spike Ilacqua
@@ -34,6 +34,7 @@ files:
34
34
  - LICENSE
35
35
  - Rakefile
36
36
  - README.textile
37
+ - init.rb
37
38
  - lib/strongbox
38
39
  - lib/strongbox/lock.rb
39
40
  - lib/strongbox.rb