ruby_easy_rsa 0.2.0.pre.5 → 0.2.0.pre.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rspec +2 -0
- data/Gemfile.lock +1 -1
- data/lib/ruby_easy_rsa/commands/build_ca.rb +5 -7
- data/lib/ruby_easy_rsa/commands/build_client_full.rb +35 -0
- data/lib/ruby_easy_rsa/commands/build_server_full.rb +35 -0
- data/lib/ruby_easy_rsa/commands/gen_req.rb +7 -7
- data/lib/ruby_easy_rsa/commands/mixins/{algo_config.rb → algorithm_config.rb} +1 -1
- data/lib/ruby_easy_rsa/commands/mixins/copy_extensions_config.rb +15 -0
- data/lib/ruby_easy_rsa/commands/mixins/encrypt_key_config.rb +15 -0
- data/lib/ruby_easy_rsa/commands/mixins/extra_extensions_config.rb +20 -0
- data/lib/ruby_easy_rsa/commands/mixins/global_config.rb +9 -0
- data/lib/ruby_easy_rsa/commands/mixins/netscape_extensions_config.rb +21 -0
- data/lib/ruby_easy_rsa/commands/mixins/ssl_config.rb +0 -3
- data/lib/ruby_easy_rsa/commands/mixins/sub_ca_config.rb +16 -0
- data/lib/ruby_easy_rsa/commands/sign_req.rb +35 -0
- data/lib/ruby_easy_rsa/commands.rb +3 -0
- data/lib/ruby_easy_rsa/version.rb +1 -1
- metadata +11 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83be89f01f04e1303768f190cff9ad9b7547d7a6b02e3ea4bea4b7eec4045ac5
|
4
|
+
data.tar.gz: 6ffd6200e865ba3068a4ecc08dd2206a85c3c0b4a653ebcf4530c2c034313da2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1cfe9fcbf78cdbb22509bf712d55027f90465143c93e476ce17970b997a748136b8a57297dfa86143b4320f887b6fca2bd871702f1cd71ce796ec35378554c3f
|
7
|
+
data.tar.gz: e8112afd40cbd9483480d359d81f189d8d02cdbebd70e6eea782e374fed0fdb8ae98edcc0b46c05ed347af35ad36b375ff348bbfaebbf403f6467b6d5693a02b
|
data/.rspec
ADDED
data/Gemfile.lock
CHANGED
@@ -3,25 +3,23 @@ require 'lino'
|
|
3
3
|
require_relative 'base'
|
4
4
|
require_relative 'mixins/global_config'
|
5
5
|
require_relative 'mixins/ssl_config'
|
6
|
-
require_relative 'mixins/
|
6
|
+
require_relative 'mixins/algorithm_config'
|
7
|
+
require_relative 'mixins/encrypt_key_config'
|
7
8
|
|
8
9
|
module RubyEasyRSA
|
9
10
|
module Commands
|
10
11
|
class BuildCA < Base
|
11
12
|
include Mixins::GlobalConfig
|
12
13
|
include Mixins::SSLConfig
|
13
|
-
include Mixins::
|
14
|
+
include Mixins::AlgorithmConfig
|
15
|
+
include Mixins::EncryptKeyConfig
|
14
16
|
|
15
17
|
def configure_command(builder, opts)
|
16
|
-
batch = opts[:batch]
|
17
|
-
encrypt_key = opts[:encrypt_key].nil? ? true : opts[:encrypt_key]
|
18
18
|
sub_ca = opts[:sub_ca]
|
19
19
|
|
20
|
-
builder = super(builder, opts)
|
21
|
-
builder = builder.with_flag('--batch') if batch
|
22
20
|
builder = builder.with_subcommand('build-ca')
|
23
|
-
builder = builder.with_argument('nopass') unless encrypt_key
|
24
21
|
builder = builder.with_argument('subca') if sub_ca
|
22
|
+
builder = super(builder, opts)
|
25
23
|
builder
|
26
24
|
end
|
27
25
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'lino'
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative 'mixins/global_config'
|
5
|
+
require_relative 'mixins/algorithm_config'
|
6
|
+
require_relative 'mixins/ssl_config'
|
7
|
+
require_relative 'mixins/sub_ca_config'
|
8
|
+
require_relative 'mixins/copy_extensions_config'
|
9
|
+
require_relative 'mixins/extra_extensions_config'
|
10
|
+
require_relative 'mixins/netscape_extensions_config'
|
11
|
+
require_relative 'mixins/encrypt_key_config'
|
12
|
+
|
13
|
+
module RubyEasyRSA
|
14
|
+
module Commands
|
15
|
+
class BuildClientFull < Base
|
16
|
+
include Mixins::GlobalConfig
|
17
|
+
include Mixins::AlgorithmConfig
|
18
|
+
include Mixins::SSLConfig
|
19
|
+
include Mixins::SubCAConfig
|
20
|
+
include Mixins::CopyExtensionsConfig
|
21
|
+
include Mixins::ExtraExtensionsConfig
|
22
|
+
include Mixins::NetscapeExtensionsConfig
|
23
|
+
include Mixins::EncryptKeyConfig
|
24
|
+
|
25
|
+
def configure_command(builder, opts)
|
26
|
+
filename_base = opts[:filename_base]
|
27
|
+
|
28
|
+
builder = builder.with_subcommand('build-client-full')
|
29
|
+
builder = builder.with_argument(filename_base)
|
30
|
+
builder = super(builder, opts)
|
31
|
+
builder
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'lino'
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative 'mixins/global_config'
|
5
|
+
require_relative 'mixins/algorithm_config'
|
6
|
+
require_relative 'mixins/ssl_config'
|
7
|
+
require_relative 'mixins/sub_ca_config'
|
8
|
+
require_relative 'mixins/copy_extensions_config'
|
9
|
+
require_relative 'mixins/extra_extensions_config'
|
10
|
+
require_relative 'mixins/netscape_extensions_config'
|
11
|
+
require_relative 'mixins/encrypt_key_config'
|
12
|
+
|
13
|
+
module RubyEasyRSA
|
14
|
+
module Commands
|
15
|
+
class BuildServerFull < Base
|
16
|
+
include Mixins::GlobalConfig
|
17
|
+
include Mixins::AlgorithmConfig
|
18
|
+
include Mixins::SSLConfig
|
19
|
+
include Mixins::SubCAConfig
|
20
|
+
include Mixins::CopyExtensionsConfig
|
21
|
+
include Mixins::ExtraExtensionsConfig
|
22
|
+
include Mixins::NetscapeExtensionsConfig
|
23
|
+
include Mixins::EncryptKeyConfig
|
24
|
+
|
25
|
+
def configure_command(builder, opts)
|
26
|
+
filename_base = opts[:filename_base]
|
27
|
+
|
28
|
+
builder = builder.with_subcommand('build-server-full')
|
29
|
+
builder = builder.with_argument(filename_base)
|
30
|
+
builder = super(builder, opts)
|
31
|
+
builder
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -2,26 +2,26 @@ require 'lino'
|
|
2
2
|
|
3
3
|
require_relative 'base'
|
4
4
|
require_relative 'mixins/global_config'
|
5
|
+
require_relative 'mixins/algorithm_config'
|
5
6
|
require_relative 'mixins/ssl_config'
|
6
|
-
require_relative 'mixins/
|
7
|
+
require_relative 'mixins/extra_extensions_config'
|
8
|
+
require_relative 'mixins/encrypt_key_config'
|
7
9
|
|
8
10
|
module RubyEasyRSA
|
9
11
|
module Commands
|
10
12
|
class GenReq < Base
|
11
13
|
include Mixins::GlobalConfig
|
14
|
+
include Mixins::AlgorithmConfig
|
12
15
|
include Mixins::SSLConfig
|
13
|
-
include Mixins::
|
16
|
+
include Mixins::ExtraExtensionsConfig
|
17
|
+
include Mixins::EncryptKeyConfig
|
14
18
|
|
15
19
|
def configure_command(builder, opts)
|
16
|
-
batch = opts[:batch]
|
17
20
|
filename_base = opts[:filename_base]
|
18
|
-
encrypt_key = opts[:encrypt_key].nil? ? true : opts[:encrypt_key]
|
19
21
|
|
20
|
-
builder = super(builder, opts)
|
21
|
-
builder = builder.with_flag('--batch') if batch
|
22
22
|
builder = builder.with_subcommand('gen-req')
|
23
23
|
builder = builder.with_argument(filename_base)
|
24
|
-
builder = builder
|
24
|
+
builder = super(builder, opts)
|
25
25
|
builder
|
26
26
|
end
|
27
27
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module RubyEasyRSA
|
2
|
+
module Commands
|
3
|
+
module Mixins
|
4
|
+
module CopyExtensionsConfig
|
5
|
+
def configure_command(builder, opts)
|
6
|
+
copy_extensions = opts[:copy_extensions]
|
7
|
+
|
8
|
+
builder = super(builder, opts)
|
9
|
+
builder = builder.with_flag('--copy-ext') if copy_extensions
|
10
|
+
builder
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module RubyEasyRSA
|
2
|
+
module Commands
|
3
|
+
module Mixins
|
4
|
+
module EncryptKeyConfig
|
5
|
+
def configure_command(builder, opts)
|
6
|
+
encrypt_key = opts[:encrypt_key].nil? ? true : opts[:encrypt_key]
|
7
|
+
|
8
|
+
builder = super(builder, opts)
|
9
|
+
builder = builder.with_argument('nopass') unless encrypt_key
|
10
|
+
builder
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module RubyEasyRSA
|
2
|
+
module Commands
|
3
|
+
module Mixins
|
4
|
+
module ExtraExtensionsConfig
|
5
|
+
def configure_command(builder, opts)
|
6
|
+
extra_extensions = opts[:extra_extensions]
|
7
|
+
subject_alternative_name = opts[:subject_alternative_name]
|
8
|
+
|
9
|
+
builder = super(builder, opts)
|
10
|
+
builder = builder.with_environment_variable(
|
11
|
+
'EASYRSA_EXTRA_EXT', extra_extensions) if extra_extensions
|
12
|
+
builder = builder.with_option(
|
13
|
+
'--subject-alt-name', subject_alternative_name, quoting: '"'
|
14
|
+
) if subject_alternative_name
|
15
|
+
builder
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -3,20 +3,29 @@ module RubyEasyRSA
|
|
3
3
|
module Mixins
|
4
4
|
module GlobalConfig
|
5
5
|
def configure_command(builder, opts)
|
6
|
+
extensions_directory = opts[:extensions_directory]
|
6
7
|
openssl_binary = opts[:openssl_binary]
|
7
8
|
ssl_configuration = opts[:ssl_configuration]
|
8
9
|
safe_configuration = opts[:safe_configuration]
|
9
10
|
vars = opts[:vars]
|
11
|
+
batch = opts[:batch]
|
12
|
+
pki_directory = opts[:pki_directory]
|
10
13
|
|
11
14
|
builder = super(builder, opts)
|
12
15
|
builder = builder.with_environment_variable(
|
13
16
|
'EASYRSA_OPENSSL', openssl_binary) if openssl_binary
|
17
|
+
builder = builder.with_environment_variable(
|
18
|
+
'EASYRSA_EXT_DIR', extensions_directory) if extensions_directory
|
14
19
|
builder = builder.with_environment_variable(
|
15
20
|
'EASYRSA_SSL_CONF', ssl_configuration) if ssl_configuration
|
16
21
|
builder = builder.with_environment_variable(
|
17
22
|
'EASYRSA_SAFE_CONF', safe_configuration) if safe_configuration
|
18
23
|
builder = builder.with_option(
|
19
24
|
'--vars', vars) if vars
|
25
|
+
builder = builder.with_flag(
|
26
|
+
'--batch') if batch
|
27
|
+
builder = builder.with_option(
|
28
|
+
'--pki-dir', pki_directory) if pki_directory
|
20
29
|
builder
|
21
30
|
end
|
22
31
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module RubyEasyRSA
|
2
|
+
module Commands
|
3
|
+
module Mixins
|
4
|
+
module NetscapeExtensionsConfig
|
5
|
+
def configure_command(builder, opts)
|
6
|
+
netscape_extensions_support = opts[:netscape_extensions_support]
|
7
|
+
netscape_extensions_comment = opts[:netscape_extensions_comment]
|
8
|
+
|
9
|
+
builder = super(builder, opts)
|
10
|
+
builder = builder.with_option(
|
11
|
+
'--ns-cert', netscape_extensions_support ? 'yes' : 'no'
|
12
|
+
) unless netscape_extensions_support.nil?
|
13
|
+
builder = builder.with_option(
|
14
|
+
'--ns-comment', netscape_extensions_comment, quoting: '"'
|
15
|
+
) if netscape_extensions_comment
|
16
|
+
builder
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -3,7 +3,6 @@ module RubyEasyRSA
|
|
3
3
|
module Mixins
|
4
4
|
module SSLConfig
|
5
5
|
def configure_command(builder, opts)
|
6
|
-
pki_directory = opts[:pki_directory]
|
7
6
|
digest = opts[:digest]
|
8
7
|
key_size_in_bits = opts[:key_size_in_bits]
|
9
8
|
expires_in_days = opts[:expires_in_days]
|
@@ -17,8 +16,6 @@ module RubyEasyRSA
|
|
17
16
|
email = opts[:email]
|
18
17
|
|
19
18
|
builder = super(builder, opts)
|
20
|
-
builder = builder.with_option(
|
21
|
-
'--pki-dir', pki_directory) if pki_directory
|
22
19
|
builder = builder.with_option(
|
23
20
|
'--digest', digest) if digest
|
24
21
|
builder = builder.with_option(
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module RubyEasyRSA
|
2
|
+
module Commands
|
3
|
+
module Mixins
|
4
|
+
module SubCAConfig
|
5
|
+
def configure_command(builder, opts)
|
6
|
+
sub_ca_length = opts[:sub_ca_length]
|
7
|
+
|
8
|
+
builder = super(builder, opts)
|
9
|
+
builder = builder.with_option(
|
10
|
+
'--subca-len', sub_ca_length) if sub_ca_length
|
11
|
+
builder
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'lino'
|
2
|
+
|
3
|
+
require_relative 'base'
|
4
|
+
require_relative 'mixins/global_config'
|
5
|
+
require_relative 'mixins/algorithm_config'
|
6
|
+
require_relative 'mixins/ssl_config'
|
7
|
+
require_relative 'mixins/sub_ca_config'
|
8
|
+
require_relative 'mixins/copy_extensions_config'
|
9
|
+
require_relative 'mixins/extra_extensions_config'
|
10
|
+
require_relative 'mixins/netscape_extensions_config'
|
11
|
+
|
12
|
+
module RubyEasyRSA
|
13
|
+
module Commands
|
14
|
+
class SignReq < Base
|
15
|
+
include Mixins::GlobalConfig
|
16
|
+
include Mixins::AlgorithmConfig
|
17
|
+
include Mixins::SSLConfig
|
18
|
+
include Mixins::SubCAConfig
|
19
|
+
include Mixins::CopyExtensionsConfig
|
20
|
+
include Mixins::ExtraExtensionsConfig
|
21
|
+
include Mixins::NetscapeExtensionsConfig
|
22
|
+
|
23
|
+
def configure_command(builder, opts)
|
24
|
+
type = opts[:type]
|
25
|
+
filename_base = opts[:filename_base]
|
26
|
+
|
27
|
+
builder = super(builder, opts)
|
28
|
+
builder = builder.with_subcommand('sign-req')
|
29
|
+
builder = builder.with_argument(type)
|
30
|
+
builder = builder.with_argument(filename_base)
|
31
|
+
builder
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -2,6 +2,9 @@ require_relative 'commands/init_pki'
|
|
2
2
|
require_relative 'commands/build_ca'
|
3
3
|
require_relative 'commands/gen_dh'
|
4
4
|
require_relative 'commands/gen_req'
|
5
|
+
require_relative 'commands/sign_req'
|
6
|
+
require_relative 'commands/build_client_full'
|
7
|
+
require_relative 'commands/build_server_full'
|
5
8
|
|
6
9
|
module RubyEasyRSA
|
7
10
|
module Commands
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_easy_rsa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.0.pre.
|
4
|
+
version: 0.2.0.pre.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Toby Clemson
|
@@ -138,6 +138,7 @@ files:
|
|
138
138
|
- ".git-crypt/keys/default/0/AAE932B730C2BA697FFDFAE05DA390873E38358B.gpg"
|
139
139
|
- ".gitattributes"
|
140
140
|
- ".gitignore"
|
141
|
+
- ".rspec"
|
141
142
|
- ".ruby-version"
|
142
143
|
- CODE_OF_CONDUCT.md
|
143
144
|
- Gemfile
|
@@ -159,12 +160,20 @@ files:
|
|
159
160
|
- lib/ruby_easy_rsa/commands.rb
|
160
161
|
- lib/ruby_easy_rsa/commands/base.rb
|
161
162
|
- lib/ruby_easy_rsa/commands/build_ca.rb
|
163
|
+
- lib/ruby_easy_rsa/commands/build_client_full.rb
|
164
|
+
- lib/ruby_easy_rsa/commands/build_server_full.rb
|
162
165
|
- lib/ruby_easy_rsa/commands/gen_dh.rb
|
163
166
|
- lib/ruby_easy_rsa/commands/gen_req.rb
|
164
167
|
- lib/ruby_easy_rsa/commands/init_pki.rb
|
165
|
-
- lib/ruby_easy_rsa/commands/mixins/
|
168
|
+
- lib/ruby_easy_rsa/commands/mixins/algorithm_config.rb
|
169
|
+
- lib/ruby_easy_rsa/commands/mixins/copy_extensions_config.rb
|
170
|
+
- lib/ruby_easy_rsa/commands/mixins/encrypt_key_config.rb
|
171
|
+
- lib/ruby_easy_rsa/commands/mixins/extra_extensions_config.rb
|
166
172
|
- lib/ruby_easy_rsa/commands/mixins/global_config.rb
|
173
|
+
- lib/ruby_easy_rsa/commands/mixins/netscape_extensions_config.rb
|
167
174
|
- lib/ruby_easy_rsa/commands/mixins/ssl_config.rb
|
175
|
+
- lib/ruby_easy_rsa/commands/mixins/sub_ca_config.rb
|
176
|
+
- lib/ruby_easy_rsa/commands/sign_req.rb
|
168
177
|
- lib/ruby_easy_rsa/version.rb
|
169
178
|
- ruby_easy_rsa.gemspec
|
170
179
|
- scripts/ci/common/configure-git.sh
|