|
|
@ -1,6 +1,6 @@ |
|
|
|
#!/usr/bin/env sh |
|
|
|
|
|
|
|
VER=2.5.2 |
|
|
|
VER=2.5.3 |
|
|
|
|
|
|
|
PROJECT_NAME="acme.sh" |
|
|
|
|
|
|
@ -72,27 +72,31 @@ __red() { |
|
|
|
fi |
|
|
|
} |
|
|
|
|
|
|
|
__mytee() { |
|
|
|
tee -a $1 |
|
|
|
} |
|
|
|
|
|
|
|
_info() { |
|
|
|
if [ -z "$2" ] ; then |
|
|
|
printf -- "[$(date)] $1" |
|
|
|
printf -- "[$(date)] $1" | __mytee $LOG_FILE |
|
|
|
else |
|
|
|
printf -- "[$(date)] $1='$2'" |
|
|
|
printf -- "[$(date)] $1='$2'" | __mytee $LOG_FILE |
|
|
|
fi |
|
|
|
printf "\n" |
|
|
|
printf "\n" | __mytee $LOG_FILE |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
_err_e() { |
|
|
|
if [ -z "$2" ] ; then |
|
|
|
__red "$1" >&2 |
|
|
|
__red "$1" | __mytee $LOG_FILE >&2 |
|
|
|
else |
|
|
|
__red "$1='$2'" >&2 |
|
|
|
__red "$1='$2'" | __mytee $LOG_FILE >&2 |
|
|
|
fi |
|
|
|
printf "\n" >&2 |
|
|
|
printf "\n" | __mytee $LOG_FILE >&2 |
|
|
|
} |
|
|
|
|
|
|
|
_err() { |
|
|
|
printf -- "[$(date)] " >&2 |
|
|
|
printf -- "[$(date)] " | __mytee $LOG_FILE >&2 |
|
|
|
_err_e "$@" |
|
|
|
return 1 |
|
|
|
} |
|
|
@ -107,12 +111,12 @@ _debug() { |
|
|
|
fi |
|
|
|
|
|
|
|
if [ -z "$2" ] ; then |
|
|
|
printf -- "[$(date)] $1" >&2 |
|
|
|
printf -- "[$(date)] $1" | __mytee $LOG_FILE >&2 |
|
|
|
else |
|
|
|
printf -- "[$(date)] $1='$2'" >&2 |
|
|
|
printf -- "[$(date)] $1='$2'" | __mytee $LOG_FILE >&2 |
|
|
|
fi |
|
|
|
|
|
|
|
printf "\n" >&2 |
|
|
|
printf "\n" | __mytee $LOG_FILE >&2 |
|
|
|
return 0 |
|
|
|
} |
|
|
|
|
|
|
@ -1239,9 +1243,7 @@ _starttlsserver() { |
|
|
|
_debug serverproc $serverproc |
|
|
|
} |
|
|
|
|
|
|
|
#[domain] [keylength] |
|
|
|
_initpath() { |
|
|
|
|
|
|
|
__initHome() { |
|
|
|
if [ -z "$_SCRIPT_HOME" ] ; then |
|
|
|
if _exists readlink && _exists dirname ; then |
|
|
|
_debug "Lets guess script dir." |
|
|
@ -1284,6 +1286,12 @@ _initpath() { |
|
|
|
if [ -z "$ACCOUNT_CONF_PATH" ] ; then |
|
|
|
ACCOUNT_CONF_PATH="$_DEFAULT_ACCOUNT_CONF_PATH" |
|
|
|
fi |
|
|
|
} |
|
|
|
|
|
|
|
#[domain] [keylength] |
|
|
|
_initpath() { |
|
|
|
|
|
|
|
__initHome |
|
|
|
|
|
|
|
if [ -f "$ACCOUNT_CONF_PATH" ] ; then |
|
|
|
. "$ACCOUNT_CONF_PATH" |
|
|
@ -2741,6 +2749,8 @@ _initconf() { |
|
|
|
#ACCOUNT_KEY_PATH=\"/path/to/account.key\" |
|
|
|
#CERT_HOME=\"/path/to/cert/home\" |
|
|
|
|
|
|
|
#LOG_FILE=\"/var/log/$PROJECT_NAME.log\" |
|
|
|
|
|
|
|
#STAGE=1 # Use the staging api |
|
|
|
#FORCE=1 # Force to issue cert |
|
|
|
#DEBUG=1 # Debug mode |
|
|
@ -3058,6 +3068,7 @@ Parameters: |
|
|
|
|
|
|
|
--keylength, -k [2048] Specifies the domain key length: 2048, 3072, 4096, 8192 or ec-256, ec-384. |
|
|
|
--accountkeylength, -ak [2048] Specifies the account key length. |
|
|
|
--logfile /path/to/logfile Specifies the log file. |
|
|
|
|
|
|
|
These parameters are to install the cert to nginx/apache or anyother server after issue/renew a cert: |
|
|
|
|
|
|
@ -3138,6 +3149,17 @@ upgrade() { |
|
|
|
fi |
|
|
|
} |
|
|
|
|
|
|
|
_processAccountConf() { |
|
|
|
if [ "$_useragent" ] ; then |
|
|
|
_saveaccountconf "USER_AGENT" "$_useragent" |
|
|
|
fi |
|
|
|
|
|
|
|
if [ "$_accountemail" ] ; then |
|
|
|
_saveaccountconf "ACCOUNT_EMAIL" "$_accountemail" |
|
|
|
fi |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
_process() { |
|
|
|
_CMD="" |
|
|
|
_domain="" |
|
|
@ -3169,6 +3191,7 @@ _process() { |
|
|
|
_pre_hook="" |
|
|
|
_post_hook="" |
|
|
|
_renew_hook="" |
|
|
|
_logfile="" |
|
|
|
while [ ${#} -gt 0 ] ; do |
|
|
|
case "${1}" in |
|
|
|
|
|
|
@ -3445,6 +3468,12 @@ _process() { |
|
|
|
--ocsp-must-staple|--ocsp) |
|
|
|
Le_OCSP_Stable="1" |
|
|
|
;; |
|
|
|
--logfile) |
|
|
|
_logfile="$2" |
|
|
|
LOG_FILE="$_logfile" |
|
|
|
shift |
|
|
|
;; |
|
|
|
|
|
|
|
*) |
|
|
|
_err "Unknown parameter : $1" |
|
|
|
return 1 |
|
|
@ -3454,6 +3483,14 @@ _process() { |
|
|
|
shift 1 |
|
|
|
done |
|
|
|
|
|
|
|
if [ "${_CMD}" != "install" ] ; then |
|
|
|
__initHome |
|
|
|
if [ "$_logfile" ] ; then |
|
|
|
_saveaccountconf "LOG_FILE" "$_logfile" |
|
|
|
fi |
|
|
|
_processAccountConf |
|
|
|
fi |
|
|
|
|
|
|
|
if [ "$DEBUG" ] ; then |
|
|
|
version |
|
|
|
fi |
|
|
@ -3513,14 +3550,13 @@ _process() { |
|
|
|
return $_ret |
|
|
|
fi |
|
|
|
|
|
|
|
if [ "$_useragent" ] ; then |
|
|
|
_saveaccountconf "USER_AGENT" "$_useragent" |
|
|
|
fi |
|
|
|
if [ "$_accountemail" ] ; then |
|
|
|
_saveaccountconf "ACCOUNT_EMAIL" "$_accountemail" |
|
|
|
if [ "${_CMD}" = "install" ] ; then |
|
|
|
if [ "$_logfile" ] ; then |
|
|
|
_saveaccountconf "LOG_FILE" "$_logfile" |
|
|
|
fi |
|
|
|
_processAccountConf |
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|