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 +4 -4
- data/lib/hiera/backend/eyaml/encryptors/secretbox.rb +26 -13
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3bdbae80427a8eb9a45d02dc6705bf24561c1190
|
4
|
+
data.tar.gz: b7c2ea11f4b0b6777a86ca9dd45e076edfacd99f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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
|
-
|
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
|
-
|
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.
|
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-
|
11
|
+
date: 2017-05-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rbnacl
|