diff --git a/evoacme/files/make-csr.sh b/evoacme/files/make-csr.sh index 9fa380a4..226c4311 100755 --- a/evoacme/files/make-csr.sh +++ b/evoacme/files/make-csr.sh @@ -87,6 +87,8 @@ openssl_selfsigned() { [ -w "${crt_dir}" ] || error "Directory ${crt_dir} is not writable" "${OPENSSL_BIN}" x509 -req -sha256 -days 365 -in "${csr}" -signkey "${key}" -out "${crt}" 2> /dev/null + + [ -r "${crt}" ] || error "Something went wrong, ${crt} has not been generated" } openssl_key(){ local key="$1" @@ -96,8 +98,10 @@ openssl_key(){ [ -w "${key_dir}" ] || error "Directory ${key_dir} is not writable" "${OPENSSL_BIN}" genrsa -out "${key}" "${size}" 2> /dev/null + + [ -r "${key}" ] || error "Something went wrong, ${key} has not been generated" } -openssl_csr_san() { +openssl_csr() { local csr="$1" local csr_dir=$(dirname "${csr}") local key="$2" @@ -105,17 +109,15 @@ openssl_csr_san() { [ -w "${csr_dir}" ] || error "Directory ${csr_dir} is not writable" - "${OPENSSL_BIN}" req -new -sha256 -key "${key}" -reqexts SAN -config "${cfg}" -out "${csr}" -} -openssl_csr_single() { - local csr="$1" - local csr_dir=$(dirname "${csr}") - local key="$2" - local cfg="$3" + if $(grep -q "DNS:" "${cfg}"); then + # CSR with SAN + "${OPENSSL_BIN}" req -new -sha256 -key "${key}" -reqexts SAN -config "${cfg}" -out "${csr}" + else + # Single domain CSR + "${OPENSSL_BIN}" req -new -sha256 -key "${key}" -config "${cfg}" -out "${csr}" + fi - [ -w "${csr_dir}" ] || error "Directory ${csr_dir} is not writable" - - "${OPENSSL_BIN}" req -new -sha256 -key "${key}" -config "${cfg}" -out "${csr}" + [ -r "${csr}" ] || error "Something went wrong, ${csr} has not been generated" } make_key() { @@ -141,18 +143,17 @@ make_csr() { cat "${SSL_CONFIG_FILE}" - > "${config_file}" < "${config_file}" < "${config_file}" <