hiera-eyaml-secretbox 0.3.0 → 0.4.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.
- checksums.yaml +5 -5
- data/Gemfile +1 -1
- data/hiera-eyaml-secretbox.gemspec +1 -1
- data/lib/hiera/backend/eyaml/encryptors/secretbox.rb +26 -13
- metadata +7 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8f0b5b4ae3edf34c85a8a499bfdbb834fe72c741a557c1965b1ac3b53bfedefa
|
4
|
+
data.tar.gz: d629de2c29f1582e9d4dc3b1e842c8a5f3386a2c529d726c26bd1610d9be6877
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 12e1c5078f614c0d86f7787a7c53e2fb2a87b2cd12cae476592ee2c77be248e59e38e509c9d791296912b7b874e3c577da2f898e2a41064545f9bbc1bb93b131
|
7
|
+
data.tar.gz: 69448ade0742ab01373ebd32c6f86375648732a118dad780237c06adb9bcb7c8689e661d9cc1463b12332920dcf41e2e3d4f8f979444df5d14f8672b8465fdcf
|
data/Gemfile
CHANGED
@@ -11,7 +11,7 @@ class Hiera
|
|
11
11
|
module Encryptors
|
12
12
|
|
13
13
|
class SecretBox < Encryptor
|
14
|
-
VERSION = "0.
|
14
|
+
VERSION = "0.4.2"
|
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,13 @@
|
|
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.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wijnand Modderman-Lenstra
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: rbnacl
|
@@ -28,16 +27,16 @@ dependencies:
|
|
28
27
|
name: hiera-eyaml
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
30
29
|
requirements:
|
31
|
-
- - "
|
30
|
+
- - "<"
|
32
31
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
32
|
+
version: '4.0'
|
34
33
|
type: :runtime
|
35
34
|
prerelease: false
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
37
36
|
requirements:
|
38
|
-
- - "
|
37
|
+
- - "<"
|
39
38
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
39
|
+
version: '4.0'
|
41
40
|
description: NaCl encryptor for use with hiera-eyaml
|
42
41
|
email: maze@pyth0n.org
|
43
42
|
executables: []
|
@@ -57,7 +56,6 @@ homepage: http://github.com/tehmaze/hiera-eyaml-secretbox
|
|
57
56
|
licenses:
|
58
57
|
- MIT
|
59
58
|
metadata: {}
|
60
|
-
post_install_message:
|
61
59
|
rdoc_options: []
|
62
60
|
require_paths:
|
63
61
|
- lib
|
@@ -72,9 +70,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
72
70
|
- !ruby/object:Gem::Version
|
73
71
|
version: '0'
|
74
72
|
requirements: []
|
75
|
-
|
76
|
-
rubygems_version: 2.6.8
|
77
|
-
signing_key:
|
73
|
+
rubygems_version: 3.6.9
|
78
74
|
specification_version: 4
|
79
75
|
summary: Encryption plugin for hiera-eyaml backend for Hiera
|
80
76
|
test_files: []
|