keystores 0.3.0 → 0.4.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: e6d7ae93735f74776c1888936c43784cfa15bd6a
4
- data.tar.gz: 14878e35af6cd8083fe752a9545194cf2f2b7b4f
3
+ metadata.gz: 72d3ffe6120e563c54ee4d86e2e18938a470bcde
4
+ data.tar.gz: 778af20d95fe1361c51aae47f6370231d844cdd5
5
5
  SHA512:
6
- metadata.gz: 45111c672dd898eba8c3848f5537b810d4b7eb7cadc48f088a21e9194fa1885cda61d2fd18766d46c9987ea8c13de96e461b94abcf9a7df3be7f645e62e96bd1
7
- data.tar.gz: 66b05351a2092d0cf536788f7c8387b6d6b16cf6f673fc66e6caaf46ea26e62c2db257558ffe1430d5ba0e56f36a38e5c06f8482ea0c99dac26be72f7a41f8ce
6
+ metadata.gz: f9489bc5e319e8c7dbbe1adad1e96ac70c715014b44ccf3b87081e50465e568ad54e5788c58eef37da3feea9407f0da3d60edebac53a4e0bbe238617d841875e
7
+ data.tar.gz: 77bcf317fcfa157298e97ab54b3ba835f7072fa5d29dad1ef91411a06d5e78f74861b3d1439458c5fe0d2e02407e70fe604003758c315a55a09dd1dd81ec99db
data/README.md CHANGED
@@ -62,6 +62,23 @@ certificate_chain = keystore.get_certificate_chain('my_key')
62
62
  This gem supports writing trusted certificate entries and private key entries. It currently supports
63
63
  writing DSA, RSA, and EC private key entries.
64
64
 
65
+ Example usage:
66
+
67
+ ```
68
+ require 'keystores'
69
+ keystore = OpenSSL::JKS.new
70
+
71
+
72
+ key = OpenSSL::PKey::RSA.new(File.read('my_key.pem'))
73
+ cert_chain = OpenSSL::X509::Certificate.new(File.read('my_cert.pem'))
74
+ private_key_password = 'key_password'
75
+
76
+ keystore.set_key_entry('my-key', key, cert_chain, private_key_password)
77
+
78
+ key_store_password = 'keystores'
79
+ keystore.store('my_keystore.jks', key_store_password)
80
+ ```
81
+
65
82
  ## Contributing
66
83
 
67
84
  Bug reports and pull requests are welcome on GitHub at https://github.com/rylarson/keystores.
@@ -177,7 +177,7 @@ module Keystores
177
177
  end
178
178
  end
179
179
 
180
- def set_key_entry(aliaz, key, certificate_chain, password=nil)
180
+ def set_key_entry(aliaz, key, certificate_chain, password)
181
181
  @entries_mutex.synchronize do
182
182
  entry = @entries[aliaz]
183
183
  if !entry.nil? && entry.is_a?(TrustedCertificateEntry)
@@ -188,7 +188,7 @@ module Keystores
188
188
  # Java uses new Date().getTime() which returns milliseconds since epoch, so we do the same here with %Q
189
189
  entry.creation_date = DateTime.now.strftime('%Q').to_i
190
190
  entry.encrypted_private_key = Keystores::Jks::KeyProtector.new(password).protect(key)
191
- entry.certificate_chain = certificate_chain
191
+ entry.certificate_chain = [certificate_chain].flatten
192
192
 
193
193
  @entries[aliaz] = entry
194
194
  end
@@ -365,4 +365,4 @@ module Keystores
365
365
  attr_accessor :creation_date, :certificate
366
366
  end
367
367
  end
368
- end
368
+ end
@@ -1,3 +1,3 @@
1
1
  module Keystores
2
- VERSION = '0.3.0'
2
+ VERSION = '0.4.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: keystores
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Larson