diff --git a/shellpki b/shellpki index 7b11394..e05f488 100755 --- a/shellpki +++ b/shellpki @@ -448,63 +448,39 @@ create() { fi # generate private key + OPENSSL_ENV="" + PASS_ARGS="" if [ -n "${password_file}" ]; then - "${OPENSSL_BIN}" genrsa \ - -aes256 \ - -passout file:${password_file} \ - -out "${key_file}" \ - ${KEY_LENGTH} \ - >/dev/null 2>&1 + PASS_ARGS="-aes256 -passout file:${password_file}" elif [ -n "${PASSWORD}" ]; then - PASSWORD="${PASSWORD}" "${OPENSSL_BIN}" genrsa \ - -aes256 \ - -passout env:PASSWORD \ - -out "${key_file}" \ - ${KEY_LENGTH} \ - >/dev/null 2>&1 - else - "${OPENSSL_BIN}" genrsa \ - -out "${key_file}" \ - ${KEY_LENGTH} \ - >/dev/null 2>&1 + OPENSSL_ENV="PASSWORD=${PASSWORD}" + PASS_ARGS="-aes256 -passout env:PASSWORD" fi + "${OPENSSL_ENV}" "${OPENSSL_BIN}" genrsa \ + -out "${key_file}" \ + ${PASS_ARGS} \ + ${KEY_LENGTH} \ + >/dev/null 2>&1 + # generate csr req + OPENSSL_ENV="" + PASS_ARGS="" if [ -n "${password_file}" ]; then - # generate csr req - "${OPENSSL_BIN}" req \ - -batch \ - -new \ - -key "${key_file}" \ - -passin file:${password_file} \ - -out "${csr_file}" \ - -config /dev/stdin <