hiera-eyaml-secretbox 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: a12a01f63dd605258d0f023decd28fa765cf80f6
4
- data.tar.gz: abc1e11037918ac10f2a8ac40265bf7b9fbedf80
3
+ metadata.gz: 3bdbae80427a8eb9a45d02dc6705bf24561c1190
4
+ data.tar.gz: b7c2ea11f4b0b6777a86ca9dd45e076edfacd99f
5
5
  SHA512:
6
- metadata.gz: 73546e88b0749d3c9b9b41783eaa3c4a31554b735c1016eb8ba200d694bf2c60895464da5930a28dd93b0f6f49ea26cc3ba44f324774173a92d3fb89c0499413
7
- data.tar.gz: '0179ac80e407ee6b8bdfe7e156d24cbb4f270b2994b82d772f2bd74404b317bd03ae58cc24312e621162acbd6a8cef7861e0cf4312e7c742c5b5373a8a07c304'
6
+ metadata.gz: c3091eadf88d86fe9a26c3f99fa828e58ee1f59e111e06a1d4d7d5eb34b5727d0042cc526cab432f6efe3caf0f8b497bdee6eabfbb35cdc7b9bdbd4ced297e13
7
+ data.tar.gz: ef529e9b2c288661f20e31156db18eebc0f39fd59994c74c00f8cc33e4ad8d45528676b8bfbb1bea600b6614304f1a885941e004ce94a5738220ac12d22d177a
@@ -11,7 +11,7 @@ class Hiera
11
11
  module Encryptors
12
12
 
13
13
  class SecretBox < Encryptor
14
- VERSION = "0.3.0"
14
+ VERSION = "0.4.0"
15
15
 
16
16
  self.options = {
17
17
  :private_key => { :desc => "Path to private key",
@@ -25,13 +25,8 @@ class Hiera
25
25
  self.tag = 'SecretBox'
26
26
 
27
27
  def self.encrypt plaintext
28
- public_key = self.option :public_key
29
- raise StandardError, "secretbox_public_key is not defined" unless public_key
30
-
31
28
  # Receivers public key
32
- public_key_b64 = File.read public_key
33
- public_key_bin = Base64.decode64 public_key_b64
34
- pub = RbNaCl::PublicKey.new(public_key_bin)
29
+ pub = RbNaCl::PublicKey.new(public_key)
35
30
 
36
31
  # Senders private key
37
32
  key = RbNaCl::PrivateKey.generate
@@ -45,13 +40,8 @@ class Hiera
45
40
  public_key_bin = message.byteslice(0, RbNaCl::PublicKey::BYTES)
46
41
  ciphertext = message.byteslice(RbNaCl::PublicKey::BYTES, message.length)
47
42
 
48
- private_key = self.option :private_key
49
- raise StandardError, "secretbox_private_key is not defined" unless private_key
50
-
51
43
  # Receivers private key
52
- private_key_b64 = File.read private_key
53
- private_key_bin = Base64.decode64 private_key_b64
54
- key = RbNaCl::PrivateKey.new(private_key_bin)
44
+ key = RbNaCl::PrivateKey.new(private_key)
55
45
 
56
46
  # Senders public key
57
47
  pub = RbNaCl::PublicKey.new(public_key_bin)
@@ -80,6 +70,29 @@ class Hiera
80
70
 
81
71
  end
82
72
 
73
+ def self.public_key
74
+ if ENV['SECRETBOX_PUBLIC_KEY']
75
+ public_key_b64 = ENV['SECRETBOX_PUBLIC_KEY']
76
+ elsif option(:public_key)
77
+ public_key_b64 = File.read(option(:public_key))
78
+ else
79
+ raise StandardError, "secretbox_public_key is not defined"
80
+ end
81
+ Base64.decode64(public_key_b64)
82
+ end
83
+ private_class_method :public_key
84
+
85
+ def self.private_key
86
+ if ENV['SECRETBOX_PRIVATE_KEY']
87
+ private_key_b64 = ENV['SECRETBOX_PRIVATE_KEY']
88
+ elsif option(:private_key)
89
+ private_key_b64 = File.read(option(:private_key))
90
+ else
91
+ raise StandardError, "secretbox_private_key is not defined"
92
+ end
93
+ Base64.decode64(private_key_b64)
94
+ end
95
+ private_class_method :private_key
83
96
  end
84
97
 
85
98
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hiera-eyaml-secretbox
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
  - Wijnand Modderman-Lenstra
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-13 00:00:00.000000000 Z
11
+ date: 2017-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbnacl