370 Commits

Author SHA1 Message Date
Eric F Crist
aeaebfb599
Merge branch 'fix_305' of https://github.com/xavierba/easy-rsa into xavierba-fix_305 2019-06-07 07:32:33 -05:00
Eric F Crist
e8811e10e6
Merge branch 'luizluca-fix_dirtemp_windows'
workaround for but in the win32 mktemp utility

Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-06-07 07:31:17 -05:00
Eric F Crist
013f29556d
Merge branch 'fix_dirtemp_windows' of https://github.com/luizluca/easy-rsa into luizluca-fix_dirtemp_windows 2019-06-07 07:30:59 -05:00
Eric F Crist
5340fb2dfc
Merge branch 'luizluca-fix_read_s'
Should "fix" errors related to ash and potentially other non-POSIX
shells that don't handle set -o or related options.

http://www.austingroupbugs.net/view.php?id=1207

Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-06-07 07:25:04 -05:00
Xavier Bachelot
a41ce243c3
Gracefuly handle IP when both renewing cert and keeping SAN from the old cert
Signed-off-by: Xavier Bachelot <xavier@bachelot.org>
2019-06-07 11:43:44 +02:00
Luiz Angelo Daros de Luca
44509c77ec
Try 'stty', 'set -o echo' and then read -s
Although 'read -s' is not POSIX, it might be the only option
for some systems (OpenWrt). Try each alternative and, if all
those fails, warn the user and read with "echo on".

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2019-06-04 17:56:53 -03:00
Luiz Angelo Daros de Luca
e2a8b78d9a
workaround win32 mktemp bug
win32 mktemp shipped by easyrsa does not work. It returns
unmodified template as the "temporary file". This results
in file conflicts when two temporary files are in use.
However win32 mktemp -d does work as expected. So, we can use
mktemp -du to generate a correct temporary file name.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2019-05-30 18:53:22 -03:00
Luiz Angelo Daros de Luca
12ee30a802
check for failed easyrsa_mktemp
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2019-05-30 18:52:27 -03:00
Eric F Crist
8374fcb4da
Adding support back in for incremental serials
Not enabled by default.  Should fix #177.

Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-05-17 06:50:08 -05:00
Eric F Crist
6b7b6bf1f0
Merge branch 'IPv4v6-x509-type-email'
Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-05-06 22:41:27 -05:00
Eric F Crist
9c0c15d062
Merge branch 'x509-type-email' of https://github.com/IPv4v6/easy-rsa into IPv4v6-x509-type-email 2019-05-06 22:41:05 -05:00
Eric F Crist
51ac28e19e
Merge branch 'luizluca-batch_ops'
Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-05-06 22:38:01 -05:00
Eric F Crist
bcec3b9ce6
Merge branch 'batch_ops' of https://github.com/luizluca/easy-rsa into luizluca-batch_ops 2019-05-06 22:37:01 -05:00
Eric F Crist
c3853eefa4
Merge branch 'luizluca-fix_firstcert_warn'
Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-05-06 22:32:53 -05:00
Eric F Crist
5d87cdcfae
Merge branch 'fix_firstcert_warn' of https://github.com/luizluca/easy-rsa into luizluca-fix_firstcert_warn 2019-05-06 22:32:34 -05:00
Eric F Crist
f56c81b584
Merge branch 'luizluca-temp_dir'
Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-05-06 22:26:22 -05:00
Eric F Crist
59f4923078
Merge branch 'temp_dir' of https://github.com/luizluca/easy-rsa into luizluca-temp_dir 2019-05-06 22:26:03 -05:00
Eric F Crist
9d78538d30
Merge branch 'luizluca-fix_failed_buildfull_master'
Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-05-06 22:19:54 -05:00
Eric F Crist
a4dc103a87
Merge branch 'fix_failed_buildfull_master' of https://github.com/luizluca/easy-rsa into luizluca-fix_failed_buildfull_master 2019-05-06 22:19:25 -05:00
Eric F Crist
c700e79905
Merge branch 'luizluca-follow_symblink'
Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-05-06 21:46:46 -05:00
Eric F Crist
1899bcdc72
Merge branch 'follow_symblink' of https://github.com/luizluca/easy-rsa into luizluca-follow_symblink 2019-05-06 21:46:25 -05:00
Eric F Crist
942fa82a2a
Merge branch 'luizluca-fix_trap_exit_v2'
Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-05-06 21:41:36 -05:00
Stefan Pietsch
d228fbc796 Set nonRepudiation bit for email certificates 2019-05-06 23:52:55 +02:00
Stefan Pietsch
a2ae82477d Add x509-type for email certificates 2019-05-04 16:48:46 +02:00
Luiz Angelo Daros de Luca
cdaa4a1fb0
include index.txt.attr as CA files
Remove a warning when the first certificate is generated

Can't open .../easy-rsa/pki/index.txt.attr for reading, No such file or directory

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2019-05-02 19:13:48 -03:00
Luiz Angelo Daros de Luca
52befc623f
fix prog_vars when easyrsa is symlink or in $PATH
When easyrsa in in $PATH, $0 does not contain a directory, resulting
in an invalid prog_vars. prog_vars is used to get default vars
location, if $EASYRSA_VARS_FILE, $EASYRSA_PKI/vars and $PWD/pki/vars
does not exist.

$0 is also used to set $EASYRSA the same way prog_vars is defined.

$EASYRSA/openssl-easyrsa.cnf is used to set $EASYRSA_SSL_CONF initial
content if missing.

$EASYRSA/x509-types is used to for extensions dir if $EASYRSA_EXT_DIR
and $EASYRSA_PKI/x509-types are not found. However, if vars already
needs changes, it is better to set $EASYRSA_EXT_DIR and file locations
there.

Normally a symlink to /usr/bin will be used to put easyrsa in $PATH.
Following $PATH and symlink allows easyrsa to be located in a more
standard dir like /usr/lib/easy-rsa/easyrsa and vars at
/usr/{lib,libexec,share}/easyrsa/vars, which could be a symlink to
/etc/easy-rsa/vars. vars can be easily appended with the default
distribution values.

With this patch, a system-wide easyrsa package could use this file
structure without patching easyrsa:

 /etc/easy-rsa/openssl-easyrsa.cnf
 /etc/easy-rsa/pki/
 /etc/easy-rsa/vars
 /usr/bin/easyrsa -> /usr/lib/easy-rsa/easyrsa
 /usr/lib/easy-rsa/easyrsa
 /usr/lib/easy-rsa/openssl-easyrsa.cnf
 /usr/lib/easy-rsa/vars -> /etc/easy-rsa/vars
 /usr/lib/easy-rsa/x509-types

If following symlink fails (win32), the previous behavior is used.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2019-05-02 19:08:08 -03:00
Luiz Angelo Daros de Luca
58b095454c
Remove req/privkey in build_full when sign_req fails
build_full leave req/privkey ig sign fails (i.e. when CA pass was
incorrect). If build_full fails, it should remove everything it created.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2019-05-02 19:03:47 -03:00
Luiz Angelo Daros de Luca
c794d5ebaa
add --passin --passout for alternative pass src/dst
Batch operations cannot be automated if openssl keeps asking
for a password. These new options allow the user to specify
a new source for password, using any openssl password options
like pass:1234 or env:var

Aborts build-ca if privkey generation fails.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2019-05-02 18:57:53 -03:00
Luiz Angelo Daros de Luca
4ede9bf103
Add easyrsa_openssl as openssl wrap function
Most $EASYRSA_OPENSSL calls where replaced by easyrsa_openssl
calls. When OpenSSL config is needed, easyrsa_openssl generates
a temporary config in tempfiles, incorporating make_ssl_config and
$EASYRSA_EXTRA_EXTS usage.

vars_source_check and verify_ssl_lib use of make_ssl_config was
removed.

'export OPENSSL_CONF' was removed as every openssl call that might
need a conf now uses easyrsa_safessl.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2019-05-02 18:26:56 -03:00
Luiz Angelo Daros de Luca
6ecb6f489e
use temporary directory instead of individual files
Manually managing temp files into fixes variables (EASYRSA_TEMP_FILE_*),
can result in errors like in build_ca that reused EASYRSA_TEMP_FILE_3.
A temporary directory simplify the cleanup.

A configurable directory for temp files (var EASYRSA_TEMP_DIR) also
allows the user to define a different temporary directory. This is
important for devices using flash disks that have limited number of
writes.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2019-05-02 18:26:56 -03:00
Luiz Angelo Daros de Luca
d48618474b
cleanup and exit code when a signal is received
Merged clean_temp and prog_exit into cleanup, but removing
the exit call. Exit should not be called during EXIT as it will
overwrite the current exit code.

Trapped signals simply call "exit $((128+signal))" to force the
execution of EXIT (for non bash-shells).

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2019-05-02 18:23:53 -03:00
Eric F Crist
38c42b22d6
neuter SC, WIP
Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-04-18 06:50:57 -05:00
Eric F Crist
b8676b7842
Merge branch 'TinCanTech-master'
Clean up usage of make_ssl_config

Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-04-18 06:48:48 -05:00
Eric F Crist
80e09e6bdc
Merge branch 'master' of https://github.com/TinCanTech/easy-rsa into TinCanTech-master 2019-04-18 06:46:19 -05:00
Eric F Crist
57a7db99ed
Merge branch 'xavierba-fix_upgrade'
Fixes for upgrade from v3.0.5 to v3.0.6

Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-04-18 06:43:26 -05:00
Xavier Bachelot
30d1c95e68
Simplify
Signed-off-by: Xavier Bachelot <xavier@bachelot.org>
2019-03-22 18:15:08 +01:00
Xavier Bachelot
8075dbbded
Don't die on missing req on revoke/renew
Signed-off-by: Xavier Bachelot <xavier@bachelot.org>
2019-03-22 18:14:52 +01:00
Xavier Bachelot
9715751815
Automatically create missing renewed dirs
Signed-off-by: Xavier Bachelot <xavier@bachelot.org>
2019-03-22 18:14:34 +01:00
Xavier Bachelot
b3b3623de9
Automatically create missing revoked dirs
Signed-off-by: Xavier Bachelot <xavier@bachelot.org>
2019-03-22 18:14:18 +01:00
Xavier Bachelot
0198f07eda
verify_ca_init has no business checking the revoked and renewed dirs
Signed-off-by: Xavier Bachelot <xavier@bachelot.org>
2019-03-22 18:13:52 +01:00
Eric F Crist
ca33f84aa2
Add win32 OpenSSL binaries, update build
New build script changes to handle win32/win64 openssl binaries.
There's more to do here with copying out the README files and such, but
this should be a good working start.

Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-02-07 18:08:39 -06:00
Eric F Crist
4501c904b9
Fix typos in openssl-easyrsa.cnf
Merge branch 'IPv4v6-fix-typo'

Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-02-07 17:21:26 -06:00
Stefan Pietsch
4ce6e9c8e4 Fix typo 2019-02-08 00:11:08 +01:00
Richard Bonhomme
cedd50e01e
Prune make_ssl_config
Signed-off-by: Richard Bonhomme <tincanteksup@gmail.com>
2019-02-06 20:05:42 +00:00
Richard Bonhomme
205510bfab
Improve verify_ssl_lib
Signed-off-by: Richard Bonhomme <tincanteksup@gmail.com>
2019-02-06 19:57:01 +00:00
Eric F Crist
9621e2626c
make op_test.sh executable
Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-02-04 13:35:48 -06:00
Eric F Crist
3d808dff94
Update changelog
Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-02-04 13:26:29 -06:00
Eric F Crist
be93f45f1e
No uname on Windows
Since there's no uname command on Windows, send STDERR to /dev/null.
This just prevents an error from showing on the console but doesn't
actually change any system behavior.

Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-02-04 13:24:35 -06:00
Eric F Crist
e5d46199c9
Distribute OpenSSL 1.1.0j instead of 1.1.1a
There are runtime issues with 1.1.1a at this time I've yet to track
down.  This is referenced in the docker-openvpn project issue 437
with a link in #261.  I've been able to reproduce it on Windows 10.

Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-02-04 13:21:58 -06:00
Eric F Crist
37edb7d1d7
Remove RANDFILE var from openssl-easyrsa.cnf
This fixes #261.

Signed-off-by: Eric F Crist <ecrist@secure-computing.net>
2019-02-04 13:01:09 -06:00