875 Commits

Author SHA1 Message Date
Richard T Bonhomme
1aeddd9fcf
Unit tests: Enable shellcheck and OpenSSL v3 (*nix only)
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-11 16:13:04 +01:00
Richard T Bonhomme
50850f5ff3
op-test.sh - Set System SSL for Windows
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-11 16:07:26 +01:00
Richard T Bonhomme
ea666d5b97
op-test.sh - exit with correct status
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-11 16:00:45 +01:00
Richard T Bonhomme
f79b66aba7
op-test.sh - Total rewrite
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-11 15:36:30 +01:00
Richard T Bonhomme
adc03b5a5d
Enable unit test with OpenSSL version 3 on REMOTE-CI
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-09 22:40:22 +01:00
Richard T Bonhomme
a482caa79b
Unit test - Temporarily disable shellcheck
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-09 22:00:03 +01:00
Richard T Bonhomme
538f3eada6
Enable OpenSSL version 3 unit tests
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-09 21:44:51 +01:00
Richard T Bonhomme
4b75783375
Upgrade Linux based unit test to OpenSSL 3.0.2
- 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-09 21:40:44 +01:00
Richard T Bonhomme
484bc56acc
Remove redundant Create $EASYRSA_SSL_CONF
The config file is unambiguously and previously created by
install_data_to_pki().

The config file location is exported in the previous command.

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-09 19:28:18 +01:00
Richard T Bonhomme
ccec36d3ea
Fold vars_source_check() back into verify_pki_init()
vars_source_check() is ONLY used by verify_pki_init(),
remove the extra function.

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-08 21:32:12 +01:00
Richard T Bonhomme
324aa4e660
Merge branch 'TinCanTech-cleanup-cleanup'
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-08 21:17:11 +01:00
Richard T Bonhomme
1e7fb8243a
Silence cleanup()
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-08 20:33:25 +01:00
Richard T Bonhomme
b4ab1713c1
Remove all use of single quote (') from vars.example
A step toward a solution to #364

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-08 02:11:17 +01:00
Richard T Bonhomme
fe47eba2c0
Style improvements to vars_setup()
Make detecting all vars files more simple and robust.
Improve warning and error messages.

Favour PKI/vars, wiith bias.

* Minor changes to output format for warn() and notice()

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-07 22:09:50 +01:00
Richard T Bonhomme
f06871cf03
ChangeLog: ANNOUNCE Easy-RSA version 3.0.1 - Initial debute
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-07 03:50:37 +01:00
Richard T Bonhomme
7ae3ffd7d3
Remove left-over cruft
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-07 03:04:12 +01:00
Richard T Bonhomme
15386d4ee3
Improve shellcheck 2086 'Unquoted expansions' problem
Easy-RSA uses unquoted expansion.

Each instance of SC2086 has been vetted, accepted and ignored.

shellcheck will still find new exceptions.

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-07 02:03:00 +01:00
Richard T Bonhomme
886043fe49
Remove cruft
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-07 00:26:52 +01:00
Richard T Bonhomme
cb686a8be4
Simplify finding a vars file
1. Name All supported vars files
2. Search for each supported vars file
3. Only allow One (or None) supported vars file to exist.
4. Prefer PKI/vars file.
5. Warn for All other deprecated vars files, if they exist.
6. Warn for NO vars file found and prefer PKI/vars.

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-06 23:49:11 +01:00
Richard T Bonhomme
223237ab7f
Only assign a value to $vars if a 'vars' file is found
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-06 22:59:23 +01:00
Richard T Bonhomme
57487a3406
Assign 'vars' correctly - set_var() is not suitable
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-06 22:22:15 +01:00
Richard T Bonhomme
7d1b00813c
Final improvements to vars_setup()
New standards introduced:
* Use '-e' to test for existence not '-f' file.
* Only use '-z' not '-n', more visually distinct.

Minor code improvement: Use 'if command' to test for success.

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-06 19:42:34 +01:00
Richard T Bonhomme
678cac5072
Set shellcheck options: -s sh -S warning -x
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-06 19:02:09 +01:00
Richard T Bonhomme
dfe8e6ffad
Update ChangeLog
Add:
   * Prefer 'PKI/vars' over all other locations (#528)
   * Introduce 'init-pki soft'  option (#197)

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-06 18:39:06 +01:00
Richard T Bonhomme
3c216e8208
Tidy up commit cf6d9efcea7cc64a46118b680edd17d7367a9b84
Tidy up comments.
Silence spurious warning about 'vars not found'.
Only show which vars are found if more than one exists.
Minor code improvements.

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-06 18:33:28 +01:00
Richard T Bonhomme
ed67df9578
Dispose of garbage
Easy-RSA does not distribute broken code.

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-06 04:36:15 +01:00
Richard T Bonhomme
0597b844e8
ANNOUNCEMENT: EasyRSA will not distribute deliberately broken code
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-06 04:31:58 +01:00
Richard T Bonhomme
cf6d9efcea
Merge branch 'TinCanTech-new_vars_setup'
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-05 23:20:52 +01:00
Richard T Bonhomme
bd7f47ee61 Merge branch 'new_vars_setup' of ssh://github.com/TinCanTech/easy-rsa into TinCanTech-new_vars_setup 2022-04-05 23:19:47 +01:00
Richard T Bonhomme
6d7b6c256a
Merge branch 'TinCanTech-opt-silent'
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-05 23:00:49 +01:00
Richard T Bonhomme
4809babe23
Merge branch 'opt-silent' of ssh://github.com/TinCanTech/easy-rsa into TinCanTech-opt-silent
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-05 22:58:00 +01:00
Richard T Bonhomme
18248622ec
Merge branch 'TinCanTech-shellcheck'
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-05 22:47:27 +01:00
Richard T Bonhomme
917b1dd25b Merge branch 'shellcheck' of ssh://github.com/TinCanTech/easy-rsa into TinCanTech-shellcheck 2022-04-05 22:45:47 +01:00
Richard T Bonhomme
72dc76c062
Merge branch 'TinCanTech-copy-x509-types-ca'
Added one newline to terminate the shellcheck directive above.

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-05 22:30:06 +01:00
Richard T Bonhomme
283d4f7fd2 Merge branch 'copy-x509-types-ca' of ssh://github.com/TinCanTech/easy-rsa into TinCanTech-copy-x509-types-ca 2022-04-05 22:25:02 +01:00
Richard T Bonhomme
96e79c7371
ChangeLog: Warnings are no longer silenced by --batch (#523)
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-05 21:01:00 +01:00
Richard T Bonhomme
fe1dd65ab3
Merge branch 'TinCanTech-renew-del-inline'
Closes: #448

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-05 18:31:20 +01:00
Richard T Bonhomme
75021037ee
Remove inline file for revoke and renew
If an inline file is found that matches the certificate being revoked
or renewed then it will be removed, pending standard confirmation.

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-05 18:18:54 +01:00
Richard T Bonhomme
ebcbc8f559
Merge branch 'TinCanTech-fix-gen-req-cn'
Note:

Also added command line option 'text' to include the request text
in the request file.

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-05 16:50:25 +01:00
Richard T Bonhomme
4ec775e4a8
Merge branch 'fix-gen-req-cn' of ssh://github.com/TinCanTech/easy-rsa into TinCanTech-fix-gen-req-cn
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-05 16:49:13 +01:00
Richard T Bonhomme
a5669ed574
Insert missing '$'
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-05 16:29:32 +01:00
Richard T Bonhomme
c345d0b7b8
Minor formatting correction
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-05 16:24:14 +01:00
Richard T Bonhomme
4d5a5d4a7b
Introduce new vars_setup() regime
vars_setup() now ignores some setup when this is 'init-pki'.
* Do not set anything which requires a PKI.

Remove some undocumented commands, which are known to break Windows.

Find 'vars' in preferred locations and only allow ONE instance.
* Probably a breaking change but only where things are already broken.

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-05 01:27:17 +01:00
Richard T Bonhomme
179aa1763a
Actions: Add flag to enable --x509-alt unit tests
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-05 01:02:59 +01:00
Richard T Bonhomme
57285db4ff
Minor improvements - Guard from my changes
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-05 00:59:48 +01:00
Richard T Bonhomme
393a510cf4
shellcheck recommendations (Ongoing)
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-04 00:52:38 +01:00
Richard T Bonhomme
ee51c1cc91
Unit-test: Only use shellcheck if easyrsa is present in ./easyrsa3/
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-03 22:03:58 +01:00
Richard T Bonhomme
6f138abb5b
Allow build_ca() to accept OpenSSL '-addext' as raw data
Set env:var:
EASYRSA_EXTRA_EXTS="-addext foo,a:b -addext bah,c:d -addext baz e:f,g"

The value of EASYRSA_EXTRA_EXTS is passed as-is to the SSL command.

Creating a CA does not allow for an arbitrary extensions file, therefore
extensions must be added via the config file (#526) or via SSL Library
option '-addext' (Can be specified to SSL multiple times).

Option '-addext' is allowed to be specified multiple times to SSL,
therefore, this string must be syntactically correct for SSL not EasyRSA.

Finally, rename EASYRSA_EXTRA_EXTS to EASYRSA_CA_EXTRA_EXTS to avoid
triggering EASYRSA_EXTRA_EXTS code buried inside of easyrsa_openssl().

Closes: #54

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-03 03:13:39 +01:00
Richard T Bonhomme
7227adcca2
Rigorously quote all use of "$EASYRSA_BATCH"
Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-03 02:31:55 +01:00
Richard T Bonhomme
bce4dadc43
Use x509-types 'ca' and COMMON when building a CA
To sign a request, easyrsa uses 'openssl ca', which does support -extfile.

To create a CA, easyrsa uses 'openssl req', which does not support -extfile.

Therefore, the x509-types 'ca' and COMMON files cannot be specified using
-extfile to create a CA. Instead, they must be included within the SSL
config file, which 'openssl req' does support.

Using the same awk script from gen_req(), with New Token '#%X509_TYPES%',
the x509-types files 'ca' and COMMON are inserted into the SSL config file.

Closes: #525

Signed-off-by: Richard T Bonhomme <tincantech@protonmail.com>
2022-04-03 00:10:09 +01:00