keystores 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c2cf8155852be0f372803bf45bc5eac1a4ea467e
4
- data.tar.gz: ff0423f51a7a95deb0ae2e2fbff565a9e4c95366
3
+ metadata.gz: e6d7ae93735f74776c1888936c43784cfa15bd6a
4
+ data.tar.gz: 14878e35af6cd8083fe752a9545194cf2f2b7b4f
5
5
  SHA512:
6
- metadata.gz: e46edf529317b03d78a96065d079dcd528a645ead5487e33363209ee6661fd3760cdfa4f1c4138e58c86c2e6e81bfb2e78649e463c994af1b9ba14508dd57b3d
7
- data.tar.gz: 4650005587aff20f7c16e0a8fa4627047dcff2b45d91b13b96ccc3310e65c3456472cfcc051a78e262e277e0bd3b422f979c05b4b60a98ec3f327128a4c72329
6
+ metadata.gz: 45111c672dd898eba8c3848f5537b810d4b7eb7cadc48f088a21e9194fa1885cda61d2fd18766d46c9987ea8c13de96e461b94abcf9a7df3be7f645e62e96bd1
7
+ data.tar.gz: 66b05351a2092d0cf536788f7c8387b6d6b16cf6f673fc66e6caaf46ea26e62c2db257558ffe1430d5ba0e56f36a38e5c06f8482ea0c99dac26be72f7a41f8ce
@@ -178,7 +178,20 @@ module Keystores
178
178
  end
179
179
 
180
180
  def set_key_entry(aliaz, key, certificate_chain, password=nil)
181
- super
181
+ @entries_mutex.synchronize do
182
+ entry = @entries[aliaz]
183
+ if !entry.nil? && entry.is_a?(TrustedCertificateEntry)
184
+ raise ArgumentError.new('Cannot overwrite own key')
185
+ end
186
+
187
+ entry = KeyEntry.new
188
+ # Java uses new Date().getTime() which returns milliseconds since epoch, so we do the same here with %Q
189
+ entry.creation_date = DateTime.now.strftime('%Q').to_i
190
+ entry.encrypted_private_key = Keystores::Jks::KeyProtector.new(password).protect(key)
191
+ entry.certificate_chain = certificate_chain
192
+
193
+ @entries[aliaz] = entry
194
+ end
182
195
  end
183
196
 
184
197
  def size
@@ -194,7 +207,7 @@ module Keystores
194
207
 
195
208
  md = get_pre_keyed_hash(password)
196
209
 
197
- io = key_store_file.respond_to?(:write) ? key_store_file : File.open(key_store_file, 'w')
210
+ io = key_store_file.respond_to?(:write) ? key_store_file : File.open(key_store_file, 'wb')
198
211
 
199
212
  write_int(io, MAGIC, md)
200
213
  # Always write the latest version
@@ -1,3 +1,3 @@
1
1
  module Keystores
2
- VERSION = '0.2.0'
2
+ VERSION = '0.3.0'
3
3
  end
metadata CHANGED
@@ -1,69 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: keystores
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Larson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-04-01 00:00:00.000000000 Z
11
+ date: 2017-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rubygems-tasks
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  description: This gem allows you to interact with java key stores in pure ruby. Keys
@@ -74,9 +74,9 @@ executables: []
74
74
  extensions: []
75
75
  extra_rdoc_files: []
76
76
  files:
77
- - .gitignore
78
- - .rspec
79
- - .travis.yml
77
+ - ".gitignore"
78
+ - ".rspec"
79
+ - ".travis.yml"
80
80
  - Gemfile
81
81
  - JAVA_KEY_STORE_README.md
82
82
  - LICENSE.txt
@@ -100,17 +100,17 @@ require_paths:
100
100
  - lib
101
101
  required_ruby_version: !ruby/object:Gem::Requirement
102
102
  requirements:
103
- - - '>='
103
+ - - ">="
104
104
  - !ruby/object:Gem::Version
105
105
  version: '0'
106
106
  required_rubygems_version: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  requirements: []
112
112
  rubyforge_project:
113
- rubygems_version: 2.4.8
113
+ rubygems_version: 2.6.8
114
114
  signing_key:
115
115
  specification_version: 4
116
116
  summary: This gem allows applications to interact with java key stores