ruby_easy_rsa 0.12.0.pre.4 → 0.12.0.pre.5

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.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +55 -56
  3. data/lib/ruby_easy_rsa/commands/base.rb +32 -12
  4. data/lib/ruby_easy_rsa/commands/build_ca.rb +5 -5
  5. data/lib/ruby_easy_rsa/commands/build_client_full.rb +5 -5
  6. data/lib/ruby_easy_rsa/commands/build_client_server_full.rb +5 -5
  7. data/lib/ruby_easy_rsa/commands/build_server_full.rb +5 -5
  8. data/lib/ruby_easy_rsa/commands/export_p12.rb +15 -8
  9. data/lib/ruby_easy_rsa/commands/export_p7.rb +10 -6
  10. data/lib/ruby_easy_rsa/commands/gen_crl.rb +5 -3
  11. data/lib/ruby_easy_rsa/commands/gen_dh.rb +4 -2
  12. data/lib/ruby_easy_rsa/commands/gen_req.rb +5 -5
  13. data/lib/ruby_easy_rsa/commands/import_req.rb +6 -4
  14. data/lib/ruby_easy_rsa/commands/init_pki.rb +4 -2
  15. data/lib/ruby_easy_rsa/commands/mixins/algorithm_config.rb +7 -7
  16. data/lib/ruby_easy_rsa/commands/mixins/copy_extensions_config.rb +5 -5
  17. data/lib/ruby_easy_rsa/commands/mixins/encrypt_key_config.rb +5 -5
  18. data/lib/ruby_easy_rsa/commands/mixins/extra_extensions_config.rb +8 -6
  19. data/lib/ruby_easy_rsa/commands/mixins/global_config.rb +30 -14
  20. data/lib/ruby_easy_rsa/commands/mixins/inline_credentials_file_config.rb +5 -5
  21. data/lib/ruby_easy_rsa/commands/mixins/netscape_extensions_config.rb +6 -6
  22. data/lib/ruby_easy_rsa/commands/mixins/ssl_config.rb +44 -48
  23. data/lib/ruby_easy_rsa/commands/mixins/sub_ca_config.rb +5 -5
  24. data/lib/ruby_easy_rsa/commands/renew.rb +5 -5
  25. data/lib/ruby_easy_rsa/commands/revoke.rb +8 -6
  26. data/lib/ruby_easy_rsa/commands/set_ec_pass.rb +6 -7
  27. data/lib/ruby_easy_rsa/commands/set_rsa_pass.rb +6 -7
  28. data/lib/ruby_easy_rsa/commands/show_ca.rb +5 -6
  29. data/lib/ruby_easy_rsa/commands/show_cert.rb +5 -6
  30. data/lib/ruby_easy_rsa/commands/show_req.rb +5 -6
  31. data/lib/ruby_easy_rsa/commands/sign_req.rb +5 -6
  32. data/lib/ruby_easy_rsa/commands/update_db.rb +5 -3
  33. data/lib/ruby_easy_rsa/commands/upgrade.rb +4 -4
  34. data/lib/ruby_easy_rsa/version.rb +1 -1
  35. data/ruby_easy_rsa.gemspec +2 -2
  36. metadata +8 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 97f824d8bdcbed236dfcf920546727855023067f99d8e073eb181d96466b0b31
4
- data.tar.gz: 54d2af8f9d4eb0b2cffa84157d5e6ed4bb522d8034c138cd35576ee3298a346a
3
+ metadata.gz: 59dbaf6124c9b01ebdc2dda12a5366b3222ecccb03827e57cdaa3ec2e9f3f203
4
+ data.tar.gz: 1e8d6c301e17bbb81b91e42eb93673e78dd1d3973dea5f28e07d8900a39869e9
5
5
  SHA512:
6
- metadata.gz: e3dde86b7974c35e93564e16b3cb33c7894ac776242bf4e1b361157dc49d518dedd84c290be928201a8a363d2c9dfe3380cf1d0f0cafeafda703fd68ba040fdd
7
- data.tar.gz: ad7f3b06b96f8d5f4303d1341df5d70933d0bd17d70bdb6d5662a48054c8a3ee5887ac711a79f7c0c92f93f996201564bab94b983b930f6a6ced9341c34ba586
6
+ metadata.gz: e9bb48b797c6a108c1a952fd4e6b4465894d7597c1f91a27b7671fe645b81804328ebb78203399478b4bc727b1accb819d922079d2e65b9897eca04024619bba
7
+ data.tar.gz: b135a88c675d96725d2008e9d4bc3d129a1d449e3bad33a94e95015e6c33a3d3dc816c20ae2cedd2f4559cf432ada46113a090a3bc6687c921c32699e9677ef5
data/Gemfile.lock CHANGED
@@ -1,13 +1,13 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ruby_easy_rsa (0.12.0.pre.4)
5
- lino (~> 3.0)
4
+ ruby_easy_rsa (0.12.0.pre.5)
5
+ lino (>= 3.1)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- activesupport (7.1.1)
10
+ activesupport (7.1.3.4)
11
11
  base64
12
12
  bigdecimal
13
13
  concurrent-ruby (~> 1.0, >= 1.0.2)
@@ -17,52 +17,55 @@ GEM
17
17
  minitest (>= 5.1)
18
18
  mutex_m
19
19
  tzinfo (~> 2.0)
20
- addressable (2.8.5)
21
- public_suffix (>= 2.0.2, < 6.0)
20
+ addressable (2.8.7)
21
+ public_suffix (>= 2.0.2, < 7.0)
22
22
  ast (2.4.2)
23
- base64 (0.1.1)
24
- bigdecimal (3.1.4)
23
+ base64 (0.2.0)
24
+ bigdecimal (3.1.8)
25
25
  colored2 (3.1.2)
26
- concurrent-ruby (1.2.2)
26
+ concurrent-ruby (1.3.3)
27
27
  connection_pool (2.4.1)
28
- diff-lcs (1.5.0)
28
+ diff-lcs (1.5.1)
29
29
  docile (1.4.0)
30
- drb (2.1.1)
31
- ruby2_keywords
32
- excon (0.104.0)
33
- faraday (2.7.11)
34
- base64
35
- faraday-net_http (>= 2.0, < 3.1)
36
- ruby2_keywords (>= 0.0.4)
37
- faraday-net_http (3.0.2)
30
+ drb (2.2.1)
31
+ excon (0.111.0)
32
+ faraday (2.10.0)
33
+ faraday-net_http (>= 2.0, < 3.2)
34
+ logger
35
+ faraday-net_http (3.1.0)
36
+ net-http
38
37
  gem-release (2.2.2)
39
- git (1.18.0)
38
+ git (1.19.1)
40
39
  addressable (~> 2.8)
41
40
  rchardet (~> 1.8)
42
41
  hamster (3.0.0)
43
42
  concurrent-ruby (~> 1.0)
44
- i18n (1.14.1)
43
+ i18n (1.14.5)
45
44
  concurrent-ruby (~> 1.0)
46
45
  immutable-struct (2.4.1)
47
- json (2.6.3)
46
+ json (2.7.2)
48
47
  language_server-protocol (3.17.0.3)
49
48
  lino (3.1.0)
50
49
  hamster (~> 3.0)
51
50
  open4 (~> 1.3)
52
- minitest (5.20.0)
53
- mutex_m (0.1.2)
54
- octokit (8.0.0)
51
+ logger (1.6.0)
52
+ minitest (5.24.1)
53
+ mutex_m (0.2.0)
54
+ net-http (0.4.1)
55
+ uri
56
+ octokit (8.1.0)
57
+ base64
55
58
  faraday (>= 1, < 3)
56
59
  sawyer (~> 0.9)
57
60
  open4 (1.3.4)
58
- parallel (1.23.0)
59
- parser (3.2.2.4)
61
+ parallel (1.25.1)
62
+ parser (3.3.4.0)
60
63
  ast (~> 2.4.1)
61
64
  racc
62
- public_suffix (5.0.3)
63
- racc (1.7.3)
65
+ public_suffix (6.0.0)
66
+ racc (1.8.0)
64
67
  rainbow (3.1.1)
65
- rake (13.1.0)
68
+ rake (13.2.1)
66
69
  rake_circle_ci (0.11.0)
67
70
  colored2 (~> 3.1)
68
71
  excon (~> 0.72)
@@ -93,46 +96,40 @@ GEM
93
96
  rake_factory (~> 0.23)
94
97
  sshkey (~> 2.0)
95
98
  rchardet (1.8.0)
96
- regexp_parser (2.8.2)
97
- rexml (3.2.6)
98
- rspec (3.12.0)
99
- rspec-core (~> 3.12.0)
100
- rspec-expectations (~> 3.12.0)
101
- rspec-mocks (~> 3.12.0)
102
- rspec-core (3.12.2)
103
- rspec-support (~> 3.12.0)
104
- rspec-expectations (3.12.3)
99
+ regexp_parser (2.9.2)
100
+ rexml (3.3.1)
101
+ strscan
102
+ rspec (3.13.0)
103
+ rspec-core (~> 3.13.0)
104
+ rspec-expectations (~> 3.13.0)
105
+ rspec-mocks (~> 3.13.0)
106
+ rspec-core (3.13.0)
107
+ rspec-support (~> 3.13.0)
108
+ rspec-expectations (3.13.1)
105
109
  diff-lcs (>= 1.2.0, < 2.0)
106
- rspec-support (~> 3.12.0)
107
- rspec-mocks (3.12.6)
110
+ rspec-support (~> 3.13.0)
111
+ rspec-mocks (3.13.1)
108
112
  diff-lcs (>= 1.2.0, < 2.0)
109
- rspec-support (~> 3.12.0)
110
- rspec-support (3.12.1)
111
- rubocop (1.57.2)
113
+ rspec-support (~> 3.13.0)
114
+ rspec-support (3.13.1)
115
+ rubocop (1.65.0)
112
116
  json (~> 2.3)
113
117
  language_server-protocol (>= 3.17.0)
114
118
  parallel (~> 1.10)
115
- parser (>= 3.2.2.4)
119
+ parser (>= 3.3.0.2)
116
120
  rainbow (>= 2.2.2, < 4.0)
117
- regexp_parser (>= 1.8, < 3.0)
121
+ regexp_parser (>= 2.4, < 3.0)
118
122
  rexml (>= 3.2.5, < 4.0)
119
- rubocop-ast (>= 1.28.1, < 2.0)
123
+ rubocop-ast (>= 1.31.1, < 2.0)
120
124
  ruby-progressbar (~> 1.7)
121
125
  unicode-display_width (>= 2.4.0, < 3.0)
122
- rubocop-ast (1.30.0)
123
- parser (>= 3.2.1.0)
124
- rubocop-capybara (2.19.0)
125
- rubocop (~> 1.41)
126
- rubocop-factory_bot (2.24.0)
127
- rubocop (~> 1.33)
126
+ rubocop-ast (1.31.3)
127
+ parser (>= 3.3.1.0)
128
128
  rubocop-rake (0.6.0)
129
129
  rubocop (~> 1.0)
130
- rubocop-rspec (2.25.0)
131
- rubocop (~> 1.40)
132
- rubocop-capybara (~> 2.17)
133
- rubocop-factory_bot (~> 2.22)
130
+ rubocop-rspec (3.0.3)
131
+ rubocop (~> 1.61)
134
132
  ruby-progressbar (1.13.0)
135
- ruby2_keywords (0.0.5)
136
133
  ruby_git_crypt (0.1.0.pre.4)
137
134
  immutable-struct (~> 2.4)
138
135
  lino (~> 3.0)
@@ -148,9 +145,11 @@ GEM
148
145
  simplecov-html (0.12.3)
149
146
  simplecov_json_formatter (0.1.4)
150
147
  sshkey (2.0.0)
148
+ strscan (3.1.0)
151
149
  tzinfo (2.0.6)
152
150
  concurrent-ruby (~> 1.0)
153
151
  unicode-display_width (2.5.0)
152
+ uri (0.13.0)
154
153
 
155
154
  PLATFORMS
156
155
  arm64-darwin-21
@@ -12,7 +12,7 @@ module RubyEasyRSA
12
12
  end
13
13
 
14
14
  def stdin
15
- ''
15
+ nil
16
16
  end
17
17
 
18
18
  def stdout
@@ -23,16 +23,22 @@ module RubyEasyRSA
23
23
  $stderr
24
24
  end
25
25
 
26
- def execute(opts = {})
27
- do_before(opts)
28
- configure_command(instantiate_builder, opts)
29
- .build
30
- .execute(
31
- stdin: stdin,
32
- stdout: stdout,
33
- stderr: stderr
34
- )
35
- do_after(opts)
26
+ def execute(parameters = {})
27
+ parameters = resolve_parameters(parameters)
28
+
29
+ do_before(parameters)
30
+ result = build_and_execute_command(parameters)
31
+ do_after(parameters)
32
+
33
+ result
34
+ end
35
+
36
+ private
37
+
38
+ def build_and_execute_command(parameters)
39
+ command = configure_command(instantiate_builder, parameters).build
40
+
41
+ command.execute(stdin:, stdout:, stderr:)
36
42
  end
37
43
 
38
44
  def instantiate_builder
@@ -43,11 +49,25 @@ module RubyEasyRSA
43
49
 
44
50
  def do_before(_); end
45
51
 
46
- def configure_command(builder, _opts)
52
+ def configure_command(builder, _parameters)
47
53
  builder
48
54
  end
49
55
 
50
56
  def do_after(_); end
57
+
58
+ def resolve_parameters(parameters)
59
+ parameter_defaults(parameters)
60
+ .merge(parameters)
61
+ .merge(parameter_overrides(parameters))
62
+ end
63
+
64
+ def parameter_defaults(_parameters)
65
+ {}
66
+ end
67
+
68
+ def parameter_overrides(_parameters)
69
+ {}
70
+ end
51
71
  end
52
72
  end
53
73
  end
@@ -16,12 +16,12 @@ module RubyEasyRSA
16
16
  include Mixins::AlgorithmConfig
17
17
  include Mixins::EncryptKeyConfig
18
18
 
19
- def configure_command(builder, opts)
20
- sub_ca = opts[:sub_ca]
19
+ private
21
20
 
22
- builder = builder.with_subcommand('build-ca')
23
- builder = builder.with_argument('subca') if sub_ca
24
- super(builder, opts)
21
+ def configure_command(initial_builder, parameters)
22
+ builder = initial_builder.with_subcommand('build-ca')
23
+ builder = builder.with_argument('subca') if parameters[:sub_ca]
24
+ super(builder, parameters)
25
25
  end
26
26
  end
27
27
  end
@@ -26,12 +26,12 @@ module RubyEasyRSA
26
26
  include Mixins::EncryptKeyConfig
27
27
  include Mixins::InlineCredentialsFileConfig
28
28
 
29
- def configure_command(builder, opts)
30
- filename_base = opts[:filename_base]
29
+ private
31
30
 
32
- builder = builder.with_subcommand('build-client-full')
33
- builder = builder.with_argument(filename_base)
34
- super(builder, opts)
31
+ def configure_command(initial_builder, parameters)
32
+ builder = initial_builder.with_subcommand('build-client-full')
33
+ builder = builder.with_argument(parameters[:filename_base])
34
+ super(builder, parameters)
35
35
  end
36
36
  end
37
37
  end
@@ -26,12 +26,12 @@ module RubyEasyRSA
26
26
  include Mixins::EncryptKeyConfig
27
27
  include Mixins::InlineCredentialsFileConfig
28
28
 
29
- def configure_command(builder, opts)
30
- filename_base = opts[:filename_base]
29
+ private
31
30
 
32
- builder = builder.with_subcommand('build-clientServer-full')
33
- builder = builder.with_argument(filename_base)
34
- super(builder, opts)
31
+ def configure_command(initial_builder, parameters)
32
+ builder = initial_builder.with_subcommand('build-clientServer-full')
33
+ builder = builder.with_argument(parameters[:filename_base])
34
+ super(builder, parameters)
35
35
  end
36
36
  end
37
37
  end
@@ -26,12 +26,12 @@ module RubyEasyRSA
26
26
  include Mixins::EncryptKeyConfig
27
27
  include Mixins::InlineCredentialsFileConfig
28
28
 
29
- def configure_command(builder, opts)
30
- filename_base = opts[:filename_base]
29
+ private
31
30
 
32
- builder = builder.with_subcommand('build-server-full')
33
- builder = builder.with_argument(filename_base)
34
- super(builder, opts)
31
+ def configure_command(initial_builder, parameters)
32
+ builder = initial_builder.with_subcommand('build-server-full')
33
+ builder = builder.with_argument(parameters[:filename_base])
34
+ super(builder, parameters)
35
35
  end
36
36
  end
37
37
  end
@@ -12,16 +12,23 @@ module RubyEasyRSA
12
12
  include Mixins::GlobalConfig
13
13
  include Mixins::SSLConfig
14
14
 
15
- def configure_command(builder, opts)
16
- filename_base = opts[:filename_base]
17
- include_ca = opts[:include_ca].nil? ? true : opts[:include_ca]
18
- include_key = opts[:include_key].nil? ? true : opts[:include_key]
15
+ private
19
16
 
20
- builder = super(builder, opts)
17
+ def parameter_defaults(parameters)
18
+ include_ca = parameters[:include_ca]
19
+ include_key = parameters[:include_key]
20
+ super.merge(
21
+ include_ca: include_ca.nil? ? true : include_ca,
22
+ include_key: include_key.nil? ? true : include_key
23
+ )
24
+ end
25
+
26
+ def configure_command(initial_builder, parameters)
27
+ builder = super
21
28
  builder = builder.with_subcommand('export-p12')
22
- builder = builder.with_argument(filename_base)
23
- builder = builder.with_argument('noca') unless include_ca
24
- builder = builder.with_argument('nokey') unless include_key
29
+ builder = builder.with_argument(parameters[:filename_base])
30
+ builder = builder.with_argument('noca') unless parameters[:include_ca]
31
+ builder = builder.with_argument('nokey') unless parameters[:include_key]
25
32
  builder
26
33
  end
27
34
  end
@@ -12,14 +12,18 @@ module RubyEasyRSA
12
12
  include Mixins::GlobalConfig
13
13
  include Mixins::SSLConfig
14
14
 
15
- def configure_command(builder, opts)
16
- filename_base = opts[:filename_base]
17
- include_ca = opts[:include_ca].nil? ? true : opts[:include_ca]
15
+ private
18
16
 
19
- builder = super(builder, opts)
17
+ def parameter_defaults(parameters)
18
+ include_ca = parameters[:include_ca]
19
+ super.merge(include_ca: include_ca.nil? ? true : include_ca)
20
+ end
21
+
22
+ def configure_command(initial_builder, parameters)
23
+ builder = super
20
24
  builder = builder.with_subcommand('export-p7')
21
- builder = builder.with_argument(filename_base)
22
- builder = builder.with_argument('noca') unless include_ca
25
+ builder = builder.with_argument(parameters[:filename_base])
26
+ builder = builder.with_argument('noca') unless parameters[:include_ca]
23
27
  builder
24
28
  end
25
29
  end
@@ -12,9 +12,11 @@ module RubyEasyRSA
12
12
  include Mixins::GlobalConfig
13
13
  include Mixins::SSLConfig
14
14
 
15
- def configure_command(builder, opts)
16
- builder = builder.with_subcommand('gen-crl')
17
- super(builder, opts)
15
+ private
16
+
17
+ def configure_command(initial_builder, parameters)
18
+ builder = initial_builder.with_subcommand('gen-crl')
19
+ super(builder, parameters)
18
20
  end
19
21
  end
20
22
  end
@@ -12,8 +12,10 @@ module RubyEasyRSA
12
12
  include Mixins::GlobalConfig
13
13
  include Mixins::SSLConfig
14
14
 
15
- def configure_command(builder, opts)
16
- builder = super(builder, opts)
15
+ private
16
+
17
+ def configure_command(initial_builder, parameters)
18
+ builder = super
17
19
  builder.with_subcommand('gen-dh')
18
20
  end
19
21
  end
@@ -18,12 +18,12 @@ module RubyEasyRSA
18
18
  include Mixins::ExtraExtensionsConfig
19
19
  include Mixins::EncryptKeyConfig
20
20
 
21
- def configure_command(builder, opts)
22
- filename_base = opts[:filename_base]
21
+ private
23
22
 
24
- builder = builder.with_subcommand('gen-req')
25
- builder = builder.with_argument(filename_base)
26
- super(builder, opts)
23
+ def configure_command(initial_builder, parameters)
24
+ builder = initial_builder.with_subcommand('gen-req')
25
+ builder = builder.with_argument(parameters[:filename_base])
26
+ super(builder, parameters)
27
27
  end
28
28
  end
29
29
  end
@@ -12,11 +12,13 @@ module RubyEasyRSA
12
12
  include Mixins::GlobalConfig
13
13
  include Mixins::SSLConfig
14
14
 
15
- def configure_command(builder, opts)
16
- request_file = opts[:request_file]
17
- filename_base = opts[:filename_base]
15
+ private
18
16
 
19
- builder = super(builder, opts)
17
+ def configure_command(initial_builder, parameters)
18
+ request_file = parameters[:request_file]
19
+ filename_base = parameters[:filename_base]
20
+
21
+ builder = super
20
22
  builder = builder.with_subcommand('import-req')
21
23
  builder = builder.with_argument(request_file)
22
24
  builder.with_argument(filename_base)
@@ -12,8 +12,10 @@ module RubyEasyRSA
12
12
  include Mixins::GlobalConfig
13
13
  include Mixins::SSLConfig
14
14
 
15
- def configure_command(builder, opts)
16
- builder = super(builder, opts)
15
+ private
16
+
17
+ def configure_command(initial_builder, parameters)
18
+ builder = super
17
19
  builder.with_subcommand('init-pki')
18
20
  end
19
21
  end
@@ -4,18 +4,18 @@ module RubyEasyRSA
4
4
  module Commands
5
5
  module Mixins
6
6
  module AlgorithmConfig
7
+ private
8
+
7
9
  # rubocop:disable Style/RedundantAssignment
8
- def configure_command(builder, opts)
9
- builder = super(builder, opts)
10
- builder = with_ec_directory(builder, opts[:ec_directory])
11
- builder = with_algorithm(builder, opts[:algorithm])
12
- builder = with_curve(builder, opts[:curve])
10
+ def configure_command(initial_builder, parameters)
11
+ builder = super
12
+ builder = with_ec_directory(builder, parameters[:ec_directory])
13
+ builder = with_algorithm(builder, parameters[:algorithm])
14
+ builder = with_curve(builder, parameters[:curve])
13
15
  builder
14
16
  end
15
17
  # rubocop:enable Style/RedundantAssignment
16
18
 
17
- private
18
-
19
19
  def with_ec_directory(builder, ec_directory)
20
20
  return builder unless ec_directory
21
21
 
@@ -4,16 +4,16 @@ module RubyEasyRSA
4
4
  module Commands
5
5
  module Mixins
6
6
  module CopyExtensionsConfig
7
+ private
8
+
7
9
  # rubocop:disable Style/RedundantAssignment
8
- def configure_command(builder, opts)
9
- builder = super(builder, opts)
10
- builder = with_copy_extensions(builder, opts[:copy_extensions])
10
+ def configure_command(initial_builder, parameters)
11
+ builder = super
12
+ builder = with_copy_extensions(builder, parameters[:copy_extensions])
11
13
  builder
12
14
  end
13
15
  # rubocop:enable Style/RedundantAssignment
14
16
 
15
- private
16
-
17
17
  def with_copy_extensions(builder, copy_extensions)
18
18
  return builder unless copy_extensions
19
19
 
@@ -4,16 +4,16 @@ module RubyEasyRSA
4
4
  module Commands
5
5
  module Mixins
6
6
  module EncryptKeyConfig
7
+ private
8
+
7
9
  # rubocop:disable Style/RedundantAssignment
8
- def configure_command(builder, opts)
9
- builder = super(builder, opts)
10
- builder = with_encrypt_key(builder, encrypt_key(opts))
10
+ def configure_command(initial_builder, parameters)
11
+ builder = super
12
+ builder = with_encrypt_key(builder, encrypt_key(parameters))
11
13
  builder
12
14
  end
13
15
  # rubocop:enable Style/RedundantAssignment
14
16
 
15
- private
16
-
17
17
  def encrypt_key(opts)
18
18
  opts[:encrypt_key].nil? ? true : opts[:encrypt_key]
19
19
  end
@@ -4,19 +4,21 @@ module RubyEasyRSA
4
4
  module Commands
5
5
  module Mixins
6
6
  module ExtraExtensionsConfig
7
+ private
8
+
7
9
  # rubocop:disable Style/RedundantAssignment
8
- def configure_command(builder, opts)
9
- builder = super(builder, opts)
10
- builder = with_extra_extensions(builder, opts[:extra_extensions])
10
+ def configure_command(initial_builder, parameters)
11
+ builder = super
12
+ builder = with_extra_extensions(
13
+ builder, parameters[:extra_extensions]
14
+ )
11
15
  builder = with_subject_alternative_name(
12
- builder, opts[:subject_alternative_name]
16
+ builder, parameters[:subject_alternative_name]
13
17
  )
14
18
  builder
15
19
  end
16
20
  # rubocop:enable Style/RedundantAssignment
17
21
 
18
- private
19
-
20
22
  def with_extra_extensions(builder, extra_extensions)
21
23
  return builder unless extra_extensions
22
24
 
@@ -4,30 +4,46 @@ module RubyEasyRSA
4
4
  module Commands
5
5
  module Mixins
6
6
  module GlobalConfig
7
+ private
8
+
7
9
  # rubocop:disable Style/RedundantAssignment
8
10
  # rubocop:disable Metrics/MethodLength
9
11
  # rubocop:disable Metrics/AbcSize
10
- def configure_command(builder, opts)
11
- builder = super(builder, opts)
12
- builder = with_openssl_binary(builder, opts[:openssl_binary])
12
+ def configure_command(initial_builder, parameters)
13
+ builder = super
14
+ builder = with_openssl_binary(
15
+ builder, parameters[:openssl_binary]
16
+ )
13
17
  builder = with_extensions_directory(
14
- builder, opts[:extensions_directory]
15
- )
16
- builder = with_ssl_configuration(builder, opts[:ssl_configuration])
17
- builder = with_safe_configuration(builder, opts[:safe_configuration])
18
- builder = with_vars(builder, opts[:vars])
19
- builder = with_batch(builder, opts[:batch])
20
- builder = with_pki_directory(builder, opts[:pki_directory])
21
- builder = with_input_password(builder, opts[:input_password])
22
- builder = with_output_password(builder, opts[:output_password])
18
+ builder, parameters[:extensions_directory]
19
+ )
20
+ builder = with_ssl_configuration(
21
+ builder, parameters[:ssl_configuration]
22
+ )
23
+ builder = with_safe_configuration(
24
+ builder, parameters[:safe_configuration]
25
+ )
26
+ builder = with_vars(
27
+ builder, parameters[:vars]
28
+ )
29
+ builder = with_batch(
30
+ builder, parameters[:batch]
31
+ )
32
+ builder = with_pki_directory(
33
+ builder, parameters[:pki_directory]
34
+ )
35
+ builder = with_input_password(
36
+ builder, parameters[:input_password]
37
+ )
38
+ builder = with_output_password(
39
+ builder, parameters[:output_password]
40
+ )
23
41
  builder
24
42
  end
25
43
  # rubocop:enable Metrics/AbcSize
26
44
  # rubocop:enable Metrics/MethodLength
27
45
  # rubocop:enable Style/RedundantAssignment
28
46
 
29
- private
30
-
31
47
  def with_openssl_binary(builder, openssl_binary)
32
48
  return builder unless openssl_binary
33
49
 
@@ -4,18 +4,18 @@ module RubyEasyRSA
4
4
  module Commands
5
5
  module Mixins
6
6
  module InlineCredentialsFileConfig
7
+ private
8
+
7
9
  # rubocop:disable Style/RedundantAssignment
8
- def configure_command(builder, opts)
9
- builder = super(builder, opts)
10
+ def configure_command(initial_builder, parameters)
11
+ builder = super
10
12
  builder = with_inline_credentials_file(
11
- builder, opts[:inline_credentials_file]
13
+ builder, parameters[:inline_credentials_file]
12
14
  )
13
15
  builder
14
16
  end
15
17
  # rubocop:enable Style/RedundantAssignment
16
18
 
17
- private
18
-
19
19
  def with_inline_credentials_file(builder, inline_credentials_file)
20
20
  return builder unless inline_credentials_file
21
21
 
@@ -4,21 +4,21 @@ module RubyEasyRSA
4
4
  module Commands
5
5
  module Mixins
6
6
  module NetscapeExtensionsConfig
7
+ private
8
+
7
9
  # rubocop:disable Style/RedundantAssignment
8
- def configure_command(builder, opts)
9
- builder = super(builder, opts)
10
+ def configure_command(initial_builder, parameters)
11
+ builder = super
10
12
  builder = with_netscape_extensions_support(
11
- builder, opts[:netscape_extensions_support]
13
+ builder, parameters[:netscape_extensions_support]
12
14
  )
13
15
  builder = with_netscape_extensions_comment(
14
- builder, opts[:netscape_extensions_comment]
16
+ builder, parameters[:netscape_extensions_comment]
15
17
  )
16
18
  builder
17
19
  end
18
20
  # rubocop:enable Style/RedundantAssignment
19
21
 
20
- private
21
-
22
22
  def with_netscape_extensions_support(
23
23
  builder, netscape_extensions_support
24
24
  )
@@ -4,120 +4,116 @@ module RubyEasyRSA
4
4
  module Commands
5
5
  module Mixins
6
6
  module SSLConfig
7
+ private
8
+
7
9
  # rubocop:disable Style/RedundantAssignment
8
10
  # rubocop:disable Metrics/MethodLength
9
11
  # rubocop:disable Metrics/AbcSize
10
- def configure_command(builder, opts)
11
- builder = super(builder, opts)
12
- builder = with_digest(builder, opts[:digest])
13
- builder = with_expires_in_days(builder, opts[:expires_in_days])
14
- builder = with_key_size_in_bits(builder, opts[:key_size_in_bits])
12
+ def configure_command(initial_builder, parameters)
13
+ builder = super
14
+ builder = with_digest(
15
+ builder, parameters[:digest]
16
+ )
17
+ builder = with_expires_in_days(
18
+ builder, parameters[:expires_in_days]
19
+ )
20
+ builder = with_key_size_in_bits(
21
+ builder, parameters[:key_size_in_bits]
22
+ )
15
23
  builder = with_distinguished_name_mode(
16
- builder, opts[:distinguished_name_mode]
24
+ builder, parameters[:distinguished_name_mode]
25
+ )
26
+ builder = with_common_name(
27
+ builder, parameters[:common_name]
28
+ )
29
+ builder = with_country(
30
+ builder, parameters[:country]
31
+ )
32
+ builder = with_province(
33
+ builder, parameters[:province]
34
+ )
35
+ builder = with_city(
36
+ builder, parameters[:city]
37
+ )
38
+ builder = with_organisation(
39
+ builder, parameters[:organisation]
17
40
  )
18
- builder = with_common_name(builder, opts[:common_name])
19
- builder = with_country(builder, opts[:country])
20
- builder = with_province(builder, opts[:province])
21
- builder = with_city(builder, opts[:city])
22
- builder = with_organisation(builder, opts[:organisation])
23
41
  builder = with_organisational_unit(
24
- builder, opts[:organisational_unit]
42
+ builder, parameters[:organisational_unit]
43
+ )
44
+ builder = with_email(
45
+ builder, parameters[:email]
25
46
  )
26
- builder = with_email(builder, opts[:email])
27
47
  builder
28
48
  end
29
49
  # rubocop:enable Metrics/AbcSize
30
50
  # rubocop:enable Metrics/MethodLength
31
51
  # rubocop:enable Style/RedundantAssignment
32
52
 
33
- private
34
-
35
53
  def with_digest(builder, digest)
36
54
  return builder unless digest
37
55
 
38
- builder.with_option(
39
- '--digest', digest
40
- )
56
+ builder.with_option('--digest', digest)
41
57
  end
42
58
 
43
59
  def with_expires_in_days(builder, expires_in_days)
44
60
  return builder unless expires_in_days
45
61
 
46
- builder.with_option(
47
- '--days', expires_in_days
48
- )
62
+ builder.with_option('--days', expires_in_days)
49
63
  end
50
64
 
51
65
  def with_key_size_in_bits(builder, key_size_in_bits)
52
66
  return builder unless key_size_in_bits
53
67
 
54
- builder.with_option(
55
- '--keysize', key_size_in_bits
56
- )
68
+ builder.with_option('--keysize', key_size_in_bits)
57
69
  end
58
70
 
59
71
  def with_distinguished_name_mode(builder, distinguished_name_mode)
60
72
  return builder unless distinguished_name_mode
61
73
 
62
- builder.with_option(
63
- '--dn-mode', distinguished_name_mode
64
- )
74
+ builder.with_option('--dn-mode', distinguished_name_mode)
65
75
  end
66
76
 
67
77
  def with_common_name(builder, common_name)
68
78
  return builder unless common_name
69
79
 
70
- builder.with_option(
71
- '--req-cn', common_name, quoting: '"'
72
- )
80
+ builder.with_option('--req-cn', common_name, quoting: '"')
73
81
  end
74
82
 
75
83
  def with_country(builder, country)
76
84
  return builder unless country
77
85
 
78
- builder.with_option(
79
- '--req-c', country, quoting: '"'
80
- )
86
+ builder.with_option('--req-c', country, quoting: '"')
81
87
  end
82
88
 
83
89
  def with_province(builder, province)
84
90
  return builder unless province
85
91
 
86
- builder.with_option(
87
- '--req-st', province, quoting: '"'
88
- )
92
+ builder.with_option('--req-st', province, quoting: '"')
89
93
  end
90
94
 
91
95
  def with_city(builder, city)
92
96
  return builder unless city
93
97
 
94
- builder.with_option(
95
- '--req-city', city, quoting: '"'
96
- )
98
+ builder.with_option('--req-city', city, quoting: '"')
97
99
  end
98
100
 
99
101
  def with_organisation(builder, organisation)
100
102
  return builder unless organisation
101
103
 
102
- builder.with_option(
103
- '--req-org', organisation, quoting: '"'
104
- )
104
+ builder.with_option('--req-org', organisation, quoting: '"')
105
105
  end
106
106
 
107
107
  def with_organisational_unit(builder, organisational_unit)
108
108
  return builder unless organisational_unit
109
109
 
110
- builder.with_option(
111
- '--req-ou', organisational_unit, quoting: '"'
112
- )
110
+ builder.with_option('--req-ou', organisational_unit, quoting: '"')
113
111
  end
114
112
 
115
113
  def with_email(builder, email)
116
114
  return builder unless email
117
115
 
118
- builder.with_option(
119
- '--req-email', email
120
- )
116
+ builder.with_option('--req-email', email)
121
117
  end
122
118
  end
123
119
  end
@@ -4,16 +4,16 @@ module RubyEasyRSA
4
4
  module Commands
5
5
  module Mixins
6
6
  module SubCAConfig
7
+ private
8
+
7
9
  # rubocop:disable Style/RedundantAssignment
8
- def configure_command(builder, opts)
9
- builder = super(builder, opts)
10
- builder = with_sub_ca_length(builder, opts[:sub_ca_length])
10
+ def configure_command(initial_builder, parameters)
11
+ builder = super
12
+ builder = with_sub_ca_length(builder, parameters[:sub_ca_length])
11
13
  builder
12
14
  end
13
15
  # rubocop:enable Style/RedundantAssignment
14
16
 
15
- private
16
-
17
17
  def with_sub_ca_length(builder, sub_ca_length)
18
18
  return builder unless sub_ca_length
19
19
 
@@ -14,12 +14,12 @@ module RubyEasyRSA
14
14
  include Mixins::SSLConfig
15
15
  include Mixins::EncryptKeyConfig
16
16
 
17
- def configure_command(builder, opts)
18
- filename_base = opts[:filename_base]
17
+ private
19
18
 
20
- builder = builder.with_subcommand('renew')
21
- builder = builder.with_argument(filename_base)
22
- super(builder, opts)
19
+ def configure_command(initial_builder, parameters)
20
+ builder = initial_builder.with_subcommand('renew')
21
+ builder = builder.with_argument(parameters[:filename_base])
22
+ super(builder, parameters)
23
23
  end
24
24
  end
25
25
  end
@@ -12,14 +12,16 @@ module RubyEasyRSA
12
12
  include Mixins::GlobalConfig
13
13
  include Mixins::SSLConfig
14
14
 
15
- def configure_command(builder, opts)
16
- filename_base = opts[:filename_base]
17
- reason = opts[:reason]
15
+ private
18
16
 
19
- builder = super(builder, opts)
17
+ def configure_command(initial_builder, parameters)
18
+ builder = super
20
19
  builder = builder.with_subcommand('revoke')
21
- builder = builder.with_argument(filename_base)
22
- builder = builder.with_argument(reason) if reason
20
+ builder = builder.with_argument(parameters[:filename_base])
21
+ if parameters[:reason]
22
+ builder =
23
+ builder.with_argument(parameters[:reason])
24
+ end
23
25
  builder
24
26
  end
25
27
  end
@@ -14,14 +14,13 @@ module RubyEasyRSA
14
14
  include Mixins::SSLConfig
15
15
  include Mixins::EncryptKeyConfig
16
16
 
17
- def configure_command(builder, opts)
18
- filename_base = opts[:filename_base]
19
- file = opts[:file]
17
+ private
20
18
 
21
- builder = builder.with_subcommand('set-ec-pass')
22
- builder = builder.with_argument(filename_base)
23
- builder = super(builder, opts)
24
- builder = builder.with_argument('file') if file
19
+ def configure_command(initial_builder, parameters)
20
+ builder = initial_builder.with_subcommand('set-ec-pass')
21
+ builder = builder.with_argument(parameters[:filename_base])
22
+ builder = super(builder, parameters)
23
+ builder = builder.with_argument('file') if parameters[:file]
25
24
  builder
26
25
  end
27
26
  end
@@ -14,14 +14,13 @@ module RubyEasyRSA
14
14
  include Mixins::SSLConfig
15
15
  include Mixins::EncryptKeyConfig
16
16
 
17
- def configure_command(builder, opts)
18
- filename_base = opts[:filename_base]
19
- file = opts[:file]
17
+ private
20
18
 
21
- builder = builder.with_subcommand('set-rsa-pass')
22
- builder = builder.with_argument(filename_base)
23
- builder = super(builder, opts)
24
- builder = builder.with_argument('file') if file
19
+ def configure_command(initial_builder, parameters)
20
+ builder = initial_builder.with_subcommand('set-rsa-pass')
21
+ builder = builder.with_argument(parameters[:filename_base])
22
+ builder = super(builder, parameters)
23
+ builder = builder.with_argument('file') if parameters[:file]
25
24
  builder
26
25
  end
27
26
  end
@@ -12,14 +12,13 @@ module RubyEasyRSA
12
12
  include Mixins::GlobalConfig
13
13
  include Mixins::SSLConfig
14
14
 
15
- def configure_command(builder, opts)
16
- filename_base = opts[:filename_base]
17
- full = opts[:full]
15
+ private
18
16
 
19
- builder = super(builder, opts)
17
+ def configure_command(initial_builder, parameters)
18
+ builder = super
20
19
  builder = builder.with_subcommand('show-ca')
21
- builder = builder.with_argument(filename_base)
22
- builder = builder.with_argument('full') if full
20
+ builder = builder.with_argument(parameters[:filename_base])
21
+ builder = builder.with_argument('full') if parameters[:full]
23
22
  builder
24
23
  end
25
24
  end
@@ -12,14 +12,13 @@ module RubyEasyRSA
12
12
  include Mixins::GlobalConfig
13
13
  include Mixins::SSLConfig
14
14
 
15
- def configure_command(builder, opts)
16
- filename_base = opts[:filename_base]
17
- full = opts[:full]
15
+ private
18
16
 
19
- builder = super(builder, opts)
17
+ def configure_command(initial_builder, parameters)
18
+ builder = super
20
19
  builder = builder.with_subcommand('show-cert')
21
- builder = builder.with_argument(filename_base)
22
- builder = builder.with_argument('full') if full
20
+ builder = builder.with_argument(parameters[:filename_base])
21
+ builder = builder.with_argument('full') if parameters[:full]
23
22
  builder
24
23
  end
25
24
  end
@@ -12,14 +12,13 @@ module RubyEasyRSA
12
12
  include Mixins::GlobalConfig
13
13
  include Mixins::SSLConfig
14
14
 
15
- def configure_command(builder, opts)
16
- filename_base = opts[:filename_base]
17
- full = opts[:full]
15
+ private
18
16
 
19
- builder = super(builder, opts)
17
+ def configure_command(initial_builder, parameters)
18
+ builder = super
20
19
  builder = builder.with_subcommand('show-req')
21
- builder = builder.with_argument(filename_base)
22
- builder = builder.with_argument('full') if full
20
+ builder = builder.with_argument(parameters[:filename_base])
21
+ builder = builder.with_argument('full') if parameters[:full]
23
22
  builder
24
23
  end
25
24
  end
@@ -22,14 +22,13 @@ module RubyEasyRSA
22
22
  include Mixins::ExtraExtensionsConfig
23
23
  include Mixins::NetscapeExtensionsConfig
24
24
 
25
- def configure_command(builder, opts)
26
- type = opts[:type]
27
- filename_base = opts[:filename_base]
25
+ private
28
26
 
29
- builder = super(builder, opts)
27
+ def configure_command(initial_builder, parameters)
28
+ builder = super
30
29
  builder = builder.with_subcommand('sign-req')
31
- builder = builder.with_argument(type)
32
- builder.with_argument(filename_base)
30
+ builder = builder.with_argument(parameters[:type])
31
+ builder.with_argument(parameters[:filename_base])
33
32
  end
34
33
  end
35
34
  end
@@ -12,9 +12,11 @@ module RubyEasyRSA
12
12
  include Mixins::GlobalConfig
13
13
  include Mixins::SSLConfig
14
14
 
15
- def configure_command(builder, opts)
16
- builder = builder.with_subcommand('update-db')
17
- super(builder, opts)
15
+ private
16
+
17
+ def configure_command(initial_builder, parameters)
18
+ builder = initial_builder.with_subcommand('update-db')
19
+ super(builder, parameters)
18
20
  end
19
21
  end
20
22
  end
@@ -12,12 +12,12 @@ module RubyEasyRSA
12
12
  include Mixins::GlobalConfig
13
13
  include Mixins::SSLConfig
14
14
 
15
- def configure_command(builder, opts)
16
- type = opts[:type]
15
+ private
17
16
 
18
- builder = super(builder, opts)
17
+ def configure_command(initial_builder, parameters)
18
+ builder = super
19
19
  builder = builder.with_subcommand('upgrade')
20
- builder.with_argument(type)
20
+ builder.with_argument(parameters[:type])
21
21
  end
22
22
  end
23
23
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyEasyRSA
4
- VERSION = '0.12.0.pre.4'
4
+ VERSION = '0.12.0.pre.5'
5
5
  end
@@ -34,9 +34,9 @@ Gem::Specification.new do |spec|
34
34
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
35
35
  spec.require_paths = ['lib']
36
36
 
37
- spec.required_ruby_version = '>= 2.7'
37
+ spec.required_ruby_version = '>= 3.1'
38
38
 
39
- spec.add_dependency 'lino', '~> 3.0'
39
+ spec.add_dependency 'lino', '>= 3.1'
40
40
 
41
41
  spec.add_development_dependency 'bundler'
42
42
  spec.add_development_dependency 'gem-release'
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_easy_rsa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0.pre.4
4
+ version: 0.12.0.pre.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - InfraBlocks Maintainers
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-06 00:00:00.000000000 Z
11
+ date: 2024-07-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lino
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '3.0'
19
+ version: '3.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '3.0'
26
+ version: '3.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -282,14 +282,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
282
282
  requirements:
283
283
  - - ">="
284
284
  - !ruby/object:Gem::Version
285
- version: '2.7'
285
+ version: '3.1'
286
286
  required_rubygems_version: !ruby/object:Gem::Requirement
287
287
  requirements:
288
288
  - - ">"
289
289
  - !ruby/object:Gem::Version
290
290
  version: 1.3.1
291
291
  requirements: []
292
- rubygems_version: 3.1.6
292
+ rubygems_version: 3.3.7
293
293
  signing_key:
294
294
  specification_version: 4
295
295
  summary: A simple Ruby wrapper for invoking EasyRSA commands.