Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
Acme.Sh
Commits
95a6c28d
Commit
95a6c28d
authored
Feb 19, 2017
by
neil
Committed by
GitHub
Feb 19, 2017
Browse files
Merge pull request #645 from Neilpang/dev
Dev
parents
e852044b
85e1f4ea
Changes
1
Show whitespace changes
Inline
Side-by-side
acme.sh
View file @
95a6c28d
...
@@ -2707,34 +2707,39 @@ _clearupwebbroot() {
...
@@ -2707,34 +2707,39 @@ _clearupwebbroot() {
}
}
_on_before_issue
()
{
_on_before_issue
()
{
_chk_web_roots
=
"
$1
"
_chk_main_domain
=
"
$2
"
_chk_alt_domains
=
"
$3
"
_chk_pre_hook
=
"
$4
"
_chk_local_addr
=
"
$5
"
_debug _on_before_issue
_debug _on_before_issue
#run pre hook
#run pre hook
if
[
"
$
Le_PreH
ook
"
]
;
then
if
[
"
$
_chk_pre_h
ook
"
]
;
then
_info
"Run pre hook:'
$
Le_PreH
ook
'"
_info
"Run pre hook:'
$
_chk_pre_h
ook
'"
if
!
(
if
!
(
cd
"
$DOMAIN_PATH
"
&&
eval
"
$
Le_PreH
ook
"
cd
"
$DOMAIN_PATH
"
&&
eval
"
$
_chk_pre_h
ook
"
)
;
then
)
;
then
_err
"Error when run pre hook."
_err
"Error when run pre hook."
return
1
return
1
fi
fi
fi
fi
if
_hasfield
"
$
Le_W
ebroot
"
"
$NO_VALUE
"
;
then
if
_hasfield
"
$
_chk_w
eb
_
root
s
"
"
$NO_VALUE
"
;
then
if
!
_exists
"nc"
;
then
if
!
_exists
"nc"
;
then
_err
"Please install netcat(nc) tools first."
_err
"Please install netcat(nc) tools first."
return
1
return
1
fi
fi
fi
fi
_debug Le_LocalAddress
"
$
Le_L
ocal
A
ddr
ess
"
_debug Le_LocalAddress
"
$
_chk_l
ocal
_a
ddr
"
alldomains
=
$(
echo
"
$
Le_Domain
,
$Le_Alt
"
|
tr
','
' '
)
alldomains
=
$(
echo
"
$
_chk_main_domain
,
$_chk_alt_domains
"
|
tr
','
' '
)
_index
=
1
_index
=
1
_currentRoot
=
""
_currentRoot
=
""
_addrIndex
=
1
_addrIndex
=
1
for
d
in
$alldomains
;
do
for
d
in
$alldomains
;
do
_debug
"Check for domain"
"
$d
"
_debug
"Check for domain"
"
$d
"
_currentRoot
=
"
$(
_getfield
"
$
Le_W
ebroot
"
$_index
)
"
_currentRoot
=
"
$(
_getfield
"
$
_chk_w
eb
_
root
s
"
$_index
)
"
_debug
"_currentRoot"
"
$_currentRoot
"
_debug
"_currentRoot"
"
$_currentRoot
"
_index
=
$(
_math
$_index
+ 1
)
_index
=
$(
_math
$_index
+ 1
)
_checkport
=
""
_checkport
=
""
...
@@ -2758,7 +2763,7 @@ _on_before_issue() {
...
@@ -2758,7 +2763,7 @@ _on_before_issue() {
if
[
"
$_checkport
"
]
;
then
if
[
"
$_checkport
"
]
;
then
_debug _checkport
"
$_checkport
"
_debug _checkport
"
$_checkport
"
_checkaddr
=
"
$(
_getfield
"
$
Le_L
ocal
A
ddr
ess
"
$_addrIndex
)
"
_checkaddr
=
"
$(
_getfield
"
$
_chk_l
ocal
_a
ddr
"
$_addrIndex
)
"
_debug _checkaddr
"
$_checkaddr
"
_debug _checkaddr
"
$_checkaddr
"
_addrIndex
=
"
$(
_math
$_addrIndex
+ 1
)
"
_addrIndex
=
"
$(
_math
$_addrIndex
+ 1
)
"
...
@@ -2777,7 +2782,7 @@ _on_before_issue() {
...
@@ -2777,7 +2782,7 @@ _on_before_issue() {
fi
fi
done
done
if
_hasfield
"
$
Le_W
ebroot
"
"apache"
;
then
if
_hasfield
"
$
_chk_w
eb
_
root
s
"
"apache"
;
then
if
!
_setApache
;
then
if
!
_setApache
;
then
_err
"set up apache error. Report error to me."
_err
"set up apache error. Report error to me."
return
1
return
1
...
@@ -2789,6 +2794,7 @@ _on_before_issue() {
...
@@ -2789,6 +2794,7 @@ _on_before_issue() {
}
}
_on_issue_err
()
{
_on_issue_err
()
{
_chk_post_hook
=
"
$1
"
_debug _on_issue_err
_debug _on_issue_err
if
[
"
$LOG_FILE
"
]
;
then
if
[
"
$LOG_FILE
"
]
;
then
_err
"Please check log file for more details:
$LOG_FILE
"
_err
"Please check log file for more details:
$LOG_FILE
"
...
@@ -2802,10 +2808,10 @@ _on_issue_err() {
...
@@ -2802,10 +2808,10 @@ _on_issue_err() {
fi
fi
#run the post hook
#run the post hook
if
[
"
$
Le_P
ost
H
ook
"
]
;
then
if
[
"
$
_chk_p
ost
_h
ook
"
]
;
then
_info
"Run post hook:'
$
Le_P
ost
H
ook
'"
_info
"Run post hook:'
$
_chk_p
ost
_h
ook
'"
if
!
(
if
!
(
cd
"
$DOMAIN_PATH
"
&&
eval
"
$
Le_P
ost
H
ook
"
cd
"
$DOMAIN_PATH
"
&&
eval
"
$
_chk_p
ost
_h
ook
"
)
;
then
)
;
then
_err
"Error when run post hook."
_err
"Error when run post hook."
return
1
return
1
...
@@ -2814,12 +2820,14 @@ _on_issue_err() {
...
@@ -2814,12 +2820,14 @@ _on_issue_err() {
}
}
_on_issue_success
()
{
_on_issue_success
()
{
_chk_post_hook
=
"
$1
"
_chk_renew_hook
=
"
$2
"
_debug _on_issue_success
_debug _on_issue_success
#run the post hook
#run the post hook
if
[
"
$
Le_P
ost
H
ook
"
]
;
then
if
[
"
$
_chk_p
ost
_h
ook
"
]
;
then
_info
"Run post hook:'
$
Le_P
ost
H
ook
'"
_info
"Run post hook:'
$
_chk_p
ost
_h
ook
'"
if
!
(
if
!
(
cd
"
$DOMAIN_PATH
"
&&
eval
"
$
Le_P
ost
H
ook
"
cd
"
$DOMAIN_PATH
"
&&
eval
"
$
_chk_p
ost
_h
ook
"
)
;
then
)
;
then
_err
"Error when run post hook."
_err
"Error when run post hook."
return
1
return
1
...
@@ -2827,10 +2835,10 @@ _on_issue_success() {
...
@@ -2827,10 +2835,10 @@ _on_issue_success() {
fi
fi
#run renew hook
#run renew hook
if
[
"
$IS_RENEW
"
]
&&
[
"
$
Le_R
enew
H
ook
"
]
;
then
if
[
"
$IS_RENEW
"
]
&&
[
"
$
_chk_r
enew
_h
ook
"
]
;
then
_info
"Run renew hook:'
$
Le_R
enew
H
ook
'"
_info
"Run renew hook:'
$
_chk_r
enew
_h
ook
'"
if
!
(
if
!
(
cd
"
$DOMAIN_PATH
"
&&
eval
"
$
Le_R
enew
H
ook
"
cd
"
$DOMAIN_PATH
"
&&
eval
"
$
_chk_r
enew
_h
ook
"
)
;
then
)
;
then
_err
"Error when run renew hook."
_err
"Error when run renew hook."
return
1
return
1
...
@@ -3027,38 +3035,38 @@ issue() {
...
@@ -3027,38 +3035,38 @@ issue() {
_usage
"Usage:
$PROJECT_ENTRY
--issue -d a.com -w /path/to/webroot/a.com/ "
_usage
"Usage:
$PROJECT_ENTRY
--issue -d a.com -w /path/to/webroot/a.com/ "
return
1
return
1
fi
fi
Le_W
ebroot
=
"
$1
"
_w
eb
_
root
s
=
"
$1
"
Le_D
omain
=
"
$2
"
_main_d
omain
=
"
$2
"
Le_Alt
=
"
$3
"
_alt_domains
=
"
$3
"
if
_contains
"
$
Le_D
omain
"
","
;
then
if
_contains
"
$
_main_d
omain
"
","
;
then
Le_D
omain
=
$(
echo
"
$2
,
$3
"
|
cut
-d
,
-f
1
)
_main_d
omain
=
$(
echo
"
$2
,
$3
"
|
cut
-d
,
-f
1
)
Le_Alt
=
$(
echo
"
$2
,
$3
"
|
cut
-d
,
-f
2- |
sed
"s/,
${
NO_VALUE
}
$/
/"
)
_alt_domains
=
$(
echo
"
$2
,
$3
"
|
cut
-d
,
-f
2- |
sed
"s/,
${
NO_VALUE
}
$/
/"
)
fi
fi
Le_K
eylength
=
"
$4
"
_k
ey
_
length
=
"
$4
"
Le_R
eal
C
ert
Path
=
"
$5
"
_r
eal
_c
ert
=
"
$5
"
Le_RealKeyPath
=
"
$6
"
_real_key
=
"
$6
"
Le_RealCACertPath
=
"
$7
"
_real_ca
=
"
$7
"
Le_R
eload
C
md
=
"
$8
"
_r
eload
_c
md
=
"
$8
"
Le_R
eal
F
ull
C
hain
Path
=
"
$9
"
_r
eal
_f
ull
c
hain
=
"
$9
"
Le_PreH
ook
=
"
${
10
}
"
_pre_h
ook
=
"
${
10
}
"
Le_P
ost
H
ook
=
"
${
11
}
"
_p
ost
_h
ook
=
"
${
11
}
"
Le_R
enew
H
ook
=
"
${
12
}
"
_r
enew
_h
ook
=
"
${
12
}
"
Le_L
ocal
A
ddr
ess
=
"
${
13
}
"
_l
ocal
_a
ddr
=
"
${
13
}
"
#remove these later.
#remove these later.
if
[
"
$
Le_W
ebroot
"
=
"dns-cf"
]
;
then
if
[
"
$
_w
eb
_
root
s
"
=
"dns-cf"
]
;
then
Le_W
ebroot
=
"dns_cf"
_w
eb
_
root
s
=
"dns_cf"
fi
fi
if
[
"
$
Le_W
ebroot
"
=
"dns-dp"
]
;
then
if
[
"
$
_w
eb
_
root
s
"
=
"dns-dp"
]
;
then
Le_W
ebroot
=
"dns_dp"
_w
eb
_
root
s
=
"dns_dp"
fi
fi
if
[
"
$
Le_W
ebroot
"
=
"dns-cx"
]
;
then
if
[
"
$
_w
eb
_
root
s
"
=
"dns-cx"
]
;
then
Le_W
ebroot
=
"dns_cx"
_w
eb
_
root
s
=
"dns_cx"
fi
fi
_debug
"Using api:
$API
"
_debug
"Using api:
$API
"
if
[
!
"
$IS_RENEW
"
]
;
then
if
[
!
"
$IS_RENEW
"
]
;
then
_initpath
"
$
Le_D
omain
"
"
$
Le_K
eylength
"
_initpath
"
$
_main_d
omain
"
"
$
_k
ey
_
length
"
mkdir
-p
"
$DOMAIN_PATH
"
mkdir
-p
"
$DOMAIN_PATH
"
fi
fi
...
@@ -3070,7 +3078,7 @@ issue() {
...
@@ -3070,7 +3078,7 @@ issue() {
_debug _saved_domain
"
$_saved_domain
"
_debug _saved_domain
"
$_saved_domain
"
_saved_alt
=
$(
_readdomainconf Le_Alt
)
_saved_alt
=
$(
_readdomainconf Le_Alt
)
_debug _saved_alt
"
$_saved_alt
"
_debug _saved_alt
"
$_saved_alt
"
if
[
"
$_saved_domain
,
$_saved_alt
"
=
"
$
Le_Domain
,
$Le_Alt
"
]
;
then
if
[
"
$_saved_domain
,
$_saved_alt
"
=
"
$
_main_domain
,
$_alt_domains
"
]
;
then
_info
"Domains not changed."
_info
"Domains not changed."
_info
"Skip, Next renewal time is:
$(
__green
"
$(
_readdomainconf Le_NextRenewTimeStr
)
"
)
"
_info
"Skip, Next renewal time is:
$(
__green
"
$(
_readdomainconf Le_NextRenewTimeStr
)
"
)
"
_info
"Add '
$(
__red
'--force'
)
' to force to renew."
_info
"Add '
$(
__red
'--force'
)
' to force to renew."
...
@@ -3081,16 +3089,16 @@ issue() {
...
@@ -3081,16 +3089,16 @@ issue() {
fi
fi
fi
fi
_savedomainconf
"Le_Domain"
"
$
Le_D
omain
"
_savedomainconf
"Le_Domain"
"
$
_main_d
omain
"
_savedomainconf
"Le_Alt"
"
$
Le_Alt
"
_savedomainconf
"Le_Alt"
"
$
_alt_domains
"
_savedomainconf
"Le_Webroot"
"
$
Le_W
ebroot
"
_savedomainconf
"Le_Webroot"
"
$
_w
eb
_
root
s
"
_savedomainconf
"Le_PreHook"
"
$
Le_PreH
ook
"
_savedomainconf
"Le_PreHook"
"
$
_pre_h
ook
"
_savedomainconf
"Le_PostHook"
"
$
Le_P
ost
H
ook
"
_savedomainconf
"Le_PostHook"
"
$
_p
ost
_h
ook
"
_savedomainconf
"Le_RenewHook"
"
$
Le_R
enew
H
ook
"
_savedomainconf
"Le_RenewHook"
"
$
_r
enew
_h
ook
"
if
[
"
$
Le_L
ocal
A
ddr
ess
"
]
;
then
if
[
"
$
_l
ocal
_a
ddr
"
]
;
then
_savedomainconf
"Le_LocalAddress"
"
$
Le_L
ocal
A
ddr
ess
"
_savedomainconf
"Le_LocalAddress"
"
$
_l
ocal
_a
ddr
"
else
else
_cleardomainconf
"Le_LocalAddress"
_cleardomainconf
"Le_LocalAddress"
fi
fi
...
@@ -3098,15 +3106,15 @@ issue() {
...
@@ -3098,15 +3106,15 @@ issue() {
Le_API
=
"
$API
"
Le_API
=
"
$API
"
_savedomainconf
"Le_API"
"
$Le_API
"
_savedomainconf
"Le_API"
"
$Le_API
"
if
[
"
$
Le_Alt
"
=
"
$NO_VALUE
"
]
;
then
if
[
"
$
_alt_domains
"
=
"
$NO_VALUE
"
]
;
then
Le_Alt
=
""
_alt_domains
=
""
fi
fi
if
[
"
$
Le_K
eylength
"
=
"
$NO_VALUE
"
]
;
then
if
[
"
$
_k
ey
_
length
"
=
"
$NO_VALUE
"
]
;
then
Le_K
eylength
=
""
_k
ey
_
length
=
""
fi
fi
if
!
_on_before_issue
;
then
if
!
_on_before_issue
"
$_web_roots
"
"
$_main_domain
"
"
$_alt_domains
"
"
$_pre_hook
"
"
$_local_addr
"
;
then
_err
"_on_before_issue."
_err
"_on_before_issue."
return
1
return
1
fi
fi
...
@@ -3116,7 +3124,7 @@ issue() {
...
@@ -3116,7 +3124,7 @@ issue() {
if
[
-z
"
$_saved_account_key_hash
"
]
||
[
"
$_saved_account_key_hash
"
!=
"
$(
__calcAccountKeyHash
)
"
]
;
then
if
[
-z
"
$_saved_account_key_hash
"
]
||
[
"
$_saved_account_key_hash
"
!=
"
$(
__calcAccountKeyHash
)
"
]
;
then
if
!
_regAccount
"
$_accountkeylength
"
;
then
if
!
_regAccount
"
$_accountkeylength
"
;
then
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
else
else
...
@@ -3128,24 +3136,24 @@ issue() {
...
@@ -3128,24 +3136,24 @@ issue() {
else
else
_key
=
$(
_readdomainconf Le_Keylength
)
_key
=
$(
_readdomainconf Le_Keylength
)
_debug
"Read key length:
$_key
"
_debug
"Read key length:
$_key
"
if
[
!
-f
"
$CERT_KEY_PATH
"
]
||
[
"
$
Le_K
eylength
"
!=
"
$_key
"
]
;
then
if
[
!
-f
"
$CERT_KEY_PATH
"
]
||
[
"
$
_k
ey
_
length
"
!=
"
$_key
"
]
;
then
if
!
createDomainKey
"
$
Le_D
omain
"
"
$
Le_K
eylength
"
;
then
if
!
createDomainKey
"
$
_main_d
omain
"
"
$
_k
ey
_
length
"
;
then
_err
"Create domain key error."
_err
"Create domain key error."
_clearup
_clearup
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
fi
fi
if
!
_createcsr
"
$
Le_D
omain
"
"
$
Le_Alt
"
"
$CERT_KEY_PATH
"
"
$CSR_PATH
"
"
$DOMAIN_SSL_CONF
"
;
then
if
!
_createcsr
"
$
_main_d
omain
"
"
$
_alt_domains
"
"
$CERT_KEY_PATH
"
"
$CSR_PATH
"
"
$DOMAIN_SSL_CONF
"
;
then
_err
"Create CSR error."
_err
"Create CSR error."
_clearup
_clearup
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
fi
fi
_savedomainconf
"Le_Keylength"
"
$
Le_K
eylength
"
_savedomainconf
"Le_Keylength"
"
$
_k
ey
_
length
"
vlist
=
"
$Le_Vlist
"
vlist
=
"
$Le_Vlist
"
...
@@ -3153,12 +3161,12 @@ issue() {
...
@@ -3153,12 +3161,12 @@ issue() {
sep
=
'#'
sep
=
'#'
dvsep
=
','
dvsep
=
','
if
[
-z
"
$vlist
"
]
;
then
if
[
-z
"
$vlist
"
]
;
then
alldomains
=
$(
echo
"
$
Le_Domain
,
$Le_Alt
"
|
tr
','
' '
)
alldomains
=
$(
echo
"
$
_main_domain
,
$_alt_domains
"
|
tr
','
' '
)
_index
=
1
_index
=
1
_currentRoot
=
""
_currentRoot
=
""
for
d
in
$alldomains
;
do
for
d
in
$alldomains
;
do
_info
"Getting webroot for domain"
"
$d
"
_info
"Getting webroot for domain"
"
$d
"
_w
=
"
$(
echo
$
Le_W
ebroot
|
cut
-d
,
-f
$_index
)
"
_w
=
"
$(
echo
$
_w
eb
_
root
s
|
cut
-d
,
-f
$_index
)
"
_debug _w
"
$_w
"
_debug _w
"
$_w
"
if
[
"
$_w
"
]
;
then
if
[
"
$_w
"
]
;
then
_currentRoot
=
"
$_w
"
_currentRoot
=
"
$_w
"
...
@@ -3177,7 +3185,7 @@ issue() {
...
@@ -3177,7 +3185,7 @@ issue() {
if
!
__get_domain_new_authz
"
$d
"
;
then
if
!
__get_domain_new_authz
"
$d
"
;
then
_clearup
_clearup
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
...
@@ -3190,7 +3198,7 @@ issue() {
...
@@ -3190,7 +3198,7 @@ issue() {
if
[
-z
"
$entry
"
]
;
then
if
[
-z
"
$entry
"
]
;
then
_err
"Error, can not get domain token
$d
"
_err
"Error, can not get domain token
$d
"
_clearup
_clearup
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
token
=
"
$(
printf
"%s
\n
"
"
$entry
"
| _egrep_o
'"token":"[^"]*'
|
cut
-d
:
-f
2 |
tr
-d
'"'
)
"
token
=
"
$(
printf
"%s
\n
"
"
$entry
"
| _egrep_o
'"token":"[^"]*'
|
cut
-d
:
-f
2 |
tr
-d
'"'
)
"
...
@@ -3271,7 +3279,7 @@ issue() {
...
@@ -3271,7 +3279,7 @@ issue() {
if
[
"
$?
"
!=
"0"
]
;
then
if
[
"
$?
"
!=
"0"
]
;
then
_clearup
_clearup
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
dnsadded
=
'1'
dnsadded
=
'1'
...
@@ -3283,7 +3291,7 @@ issue() {
...
@@ -3283,7 +3291,7 @@ issue() {
_debug
"Dns record not added yet, so, save to
$DOMAIN_CONF
and exit."
_debug
"Dns record not added yet, so, save to
$DOMAIN_CONF
and exit."
_err
"Please add the TXT records to the domains, and retry again."
_err
"Please add the TXT records to the domains, and retry again."
_clearup
_clearup
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
...
@@ -3329,12 +3337,12 @@ issue() {
...
@@ -3329,12 +3337,12 @@ issue() {
if
[
"
$vtype
"
=
"
$VTYPE_HTTP
"
]
;
then
if
[
"
$vtype
"
=
"
$VTYPE_HTTP
"
]
;
then
if
[
"
$_currentRoot
"
=
"
$NO_VALUE
"
]
;
then
if
[
"
$_currentRoot
"
=
"
$NO_VALUE
"
]
;
then
_info
"Standalone mode server"
_info
"Standalone mode server"
_ncaddr
=
"
$(
_getfield
"
$
Le_L
ocal
A
ddr
ess
"
"
$_ncIndex
"
)
"
_ncaddr
=
"
$(
_getfield
"
$
_l
ocal
_a
ddr
"
"
$_ncIndex
"
)
"
_ncIndex
=
"
$(
_math
$_ncIndex
+ 1
)
"
_ncIndex
=
"
$(
_math
$_ncIndex
+ 1
)
"
_startserver
"
$keyauthorization
"
"
$_ncaddr
"
&
_startserver
"
$keyauthorization
"
"
$_ncaddr
"
&
if
[
"
$?
"
!=
"0"
]
;
then
if
[
"
$?
"
!=
"0"
]
;
then
_clearup
_clearup
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
serverproc
=
"
$!
"
serverproc
=
"
$!
"
...
@@ -3350,7 +3358,7 @@ issue() {
...
@@ -3350,7 +3358,7 @@ issue() {
BACKUP_NGINX_CONF
=
""
BACKUP_NGINX_CONF
=
""
if
!
_setNginx
"
$d
"
"
$_currentRoot
"
"
$thumbprint
"
;
then
if
!
_setNginx
"
$d
"
"
$_currentRoot
"
"
$thumbprint
"
;
then
_clearup
_clearup
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
...
@@ -3385,7 +3393,7 @@ issue() {
...
@@ -3385,7 +3393,7 @@ issue() {
_err
"
$d
:Can not write token to file :
$wellknown_path
/
$token
"
_err
"
$d
:Can not write token to file :
$wellknown_path
/
$token
"
_clearupwebbroot
"
$_currentRoot
"
"
$removelevel
"
"
$token
"
_clearupwebbroot
"
$_currentRoot
"
"
$removelevel
"
"
$token
"
_clearup
_clearup
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
...
@@ -3424,13 +3432,13 @@ issue() {
...
@@ -3424,13 +3432,13 @@ issue() {
_SAN_B
=
"
$_x
.
$_y
.acme.invalid"
_SAN_B
=
"
$_x
.
$_y
.acme.invalid"
_debug2 _SAN_B
"
$_SAN_B
"
_debug2 _SAN_B
"
$_SAN_B
"
_ncaddr
=
"
$(
_getfield
"
$
Le_L
ocal
A
ddr
ess
"
"
$_ncIndex
"
)
"
_ncaddr
=
"
$(
_getfield
"
$
_l
ocal
_a
ddr
"
"
$_ncIndex
"
)
"
_ncIndex
=
"
$(
_math
"
$_ncIndex
"
+ 1
)
"
_ncIndex
=
"
$(
_math
"
$_ncIndex
"
+ 1
)
"
if
!
_starttlsserver
"
$_SAN_B
"
"
$_SAN_A
"
"
$Le_TLSPort
"
"
$keyauthorization
"
"
$_ncaddr
"
;
then
if
!
_starttlsserver
"
$_SAN_B
"
"
$_SAN_A
"
"
$Le_TLSPort
"
"
$keyauthorization
"
"
$_ncaddr
"
;
then
_err
"Start tls server error."
_err
"Start tls server error."
_clearupwebbroot
"
$_currentRoot
"
"
$removelevel
"
"
$token
"
_clearupwebbroot
"
$_currentRoot
"
"
$removelevel
"
"
$token
"
_clearup
_clearup
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
fi
fi
...
@@ -3439,7 +3447,7 @@ issue() {
...
@@ -3439,7 +3447,7 @@ issue() {
_err
"
$d
:Can not get challenge:
$response
"
_err
"
$d
:Can not get challenge:
$response
"
_clearupwebbroot
"
$_currentRoot
"
"
$removelevel
"
"
$token
"
_clearupwebbroot
"
$_currentRoot
"
"
$removelevel
"
"
$token
"
_clearup
_clearup
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
...
@@ -3447,7 +3455,7 @@ issue() {
...
@@ -3447,7 +3455,7 @@ issue() {
_err
"
$d
:Challenge error:
$response
"
_err
"
$d
:Challenge error:
$response
"
_clearupwebbroot
"
$_currentRoot
"
"
$removelevel
"
"
$token
"
_clearupwebbroot
"
$_currentRoot
"
"
$removelevel
"
"
$token
"
_clearup
_clearup
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
...
@@ -3474,7 +3482,7 @@ issue() {
...
@@ -3474,7 +3482,7 @@ issue() {
_err
"
$d
:Verify error:
$response
"
_err
"
$d
:Verify error:
$response
"
_clearupwebbroot
"
$_currentRoot
"
"
$removelevel
"
"
$token
"
_clearupwebbroot
"
$_currentRoot
"
"
$removelevel
"
"
$token
"
_clearup
_clearup
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
_debug2 original
"
$response
"
_debug2 original
"
$response
"
...
@@ -3509,7 +3517,7 @@ issue() {
...
@@ -3509,7 +3517,7 @@ issue() {
fi
fi
_clearupwebbroot
"
$_currentRoot
"
"
$removelevel
"
"
$token
"
_clearupwebbroot
"
$_currentRoot
"
"
$removelevel
"
"
$token
"
_clearup
_clearup
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
...
@@ -3519,7 +3527,7 @@ issue() {
...
@@ -3519,7 +3527,7 @@ issue() {
_err
"
$d
:Verify error:
$response
"
_err
"
$d
:Verify error:
$response
"
_clearupwebbroot
"
$_currentRoot
"
"
$removelevel
"
"
$token
"
_clearupwebbroot
"
$_currentRoot
"
"
$removelevel
"
"
$token
"
_clearup
_clearup
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
...
@@ -3533,7 +3541,7 @@ issue() {
...
@@ -3533,7 +3541,7 @@ issue() {
if
!
_send_signed_request
"
$API
/acme/new-cert"
"{
\"
resource
\"
:
\"
new-cert
\"
,
\"
csr
\"
:
\"
$der
\"
}"
"needbase64"
;
then
if
!
_send_signed_request
"
$API
/acme/new-cert"
"{
\"
resource
\"
:
\"
new-cert
\"
,
\"
csr
\"
:
\"
$der
\"
}"
"needbase64"
;
then
_err
"Sign failed."
_err
"Sign failed."
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
...
@@ -3575,7 +3583,7 @@ issue() {
...
@@ -3575,7 +3583,7 @@ issue() {
if
[
-z
"
$Le_LinkCert
"
]
;
then
if
[
-z
"
$Le_LinkCert
"
]
;
then
response
=
"
$(
echo
"
$response
"
| _dbase64
"multiline"
| _normalizeJson
)
"
response
=
"
$(
echo
"
$response
"
| _dbase64
"multiline"
| _normalizeJson
)
"
_err
"Sign failed:
$(
echo
"
$response
"
| _egrep_o
'"detail":"[^"]*"'
)
"
_err
"Sign failed:
$(
echo
"
$response
"
| _egrep_o
'"detail":"[^"]*"'
)
"
_on_issue_err
_on_issue_err
"
$_post_hook
"
return
1
return
1
fi
fi
...
@@ -3637,10 +3645,15 @@ issue() {
...
@@ -3637,10 +3645,15 @@ issue() {
Le_NextRenewTime
=
$(
_math
"
$Le_NextRenewTime
"
- 86400
)
Le_NextRenewTime
=
$(
_math
"
$Le_NextRenewTime
"
- 86400
)
_savedomainconf
"Le_NextRenewTime"
"
$Le_NextRenewTime
"
_savedomainconf
"Le_NextRenewTime"
"
$Le_NextRenewTime
"
_on_issue_success
_on_issue_success
"
$_post_hook
"
"
$_renew_hook
"
if
[
"
$Le_RealCertPath$Le_RealKeyPath$Le_RealCACertPath$Le_ReloadCmd$Le_RealFullChainPath
"
]
;
then
if
[
"
$_real_cert$_real_key$_real_ca$_reload_cmd$_real_fullchain
"
]
;
then
_installcert
_savedomainconf
"Le_RealCertPath"
"
$_real_cert
"
_savedomainconf
"Le_RealCACertPath"
"
$_real_ca
"
_savedomainconf
"Le_RealKeyPath"
"
$_real_key
"
_savedomainconf
"Le_ReloadCmd"
"
$_reload_cmd
"
_savedomainconf
"Le_RealFullChainPath"
"
$_real_fullchain
"
_installcert
"
$_main_domain
"
"
$_real_cert
"
"
$_real_key
"
"
$_real_ca
"
"
$_reload_cmd
"
"
$_real_fullchain
"
fi
fi
}
}
...
@@ -3926,104 +3939,107 @@ deploy() {
...
@@ -3926,104 +3939,107 @@ deploy() {
}
}
installcert
()
{
installcert
()
{
Le_D
omain
=
"
$1
"
_main_d
omain
=
"
$1
"
if
[
-z
"
$
Le_D
omain
"
]
;
then
if
[
-z
"
$
_main_d
omain
"
]
;
then
_usage
"Usage:
$PROJECT_ENTRY
--installcert -d domain.com [--ecc] [--certpath cert-file-path] [--keypath key-file-path] [--capath ca-cert-file-path] [ --reloadCmd reloadCmd] [--fullchainpath fullchain-path]"
_usage
"Usage:
$PROJECT_ENTRY
--installcert -d domain.com [--ecc] [--certpath cert-file-path] [--keypath key-file-path] [--capath ca-cert-file-path] [ --reloadCmd reloadCmd] [--fullchainpath fullchain-path]"
return
1
return
1
fi
fi
Le_R
eal
C
ert
Path
=
"
$2
"
_r
eal
_c
ert
=
"
$2
"
Le_RealKeyPath
=
"
$3
"
_real_key
=
"
$3
"
Le_RealCACertPath
=
"
$4
"
_real_ca
=
"
$4
"
Le_R
eload
C
md
=
"
$5
"
_r
eload
_c
md
=
"
$5
"
Le_R
eal
F
ull
C
hain
Path
=
"
$6
"
_r
eal
_f
ull
c
hain
=
"
$6
"
_isEcc
=
"
$7
"
_isEcc
=
"
$7
"
_initpath
"
$
Le_D
omain
"
"
$_isEcc
"
_initpath
"
$
_main_d
omain
"
"
$_isEcc
"
if
[
!
-d
"
$DOMAIN_PATH
"
]
;
then
if
[
!
-d
"
$DOMAIN_PATH
"
]
;
then
_err
"Domain is not valid:'
$
Le_D
omain
'"
_err
"Domain is not valid:'
$
_main_d
omain
'"
return
1
return
1
fi
fi
_installcert
_savedomainconf
"Le_RealCertPath"
"
$_real_cert
"
_savedomainconf
"Le_RealCACertPath"
"
$_real_ca
"
_savedomainconf
"Le_RealKeyPath"
"
$_real_key
"
_savedomainconf
"Le_ReloadCmd"
"
$_reload_cmd
"
_savedomainconf
"Le_RealFullChainPath"
"
$_real_fullchain
"
_installcert
"
$_main_domain
"
"
$_real_cert
"
"
$_real_key
"
"
$_real_ca
"
"
$_reload_cmd
"
"
$_real_fullchain
"
}
}
_installcert
()
{
_installcert
()
{
_savedomainconf
"Le_RealCertPath"
"
$Le_RealCertPath
"
_main_domain
=
"
$1
"
_savedomainconf
"Le_RealCACertPath"
"
$Le_RealCACertPath
"
_real_cert
=
"
$2
"
_savedomainconf
"Le_RealKeyPath"
"
$Le_RealKeyPath
"
_real_key
=
"
$3
"
_savedomainconf
"Le_ReloadCmd"
"
$Le_ReloadCmd
"
_real_ca
=
"
$4
"
_savedomainconf
"Le_RealFullChainPath"
"
$Le_RealFullChainPath
"
_reload_cmd
=
"
$5
"
_real_fullchain
=
"
$6
"
if
[
"
$
Le_R
eal
C
ert
Path
"
=
"
$NO_VALUE
"
]
;
then
if
[
"
$
_r
eal
_c
ert
"
=
"
$NO_VALUE
"
]
;
then
Le_R
eal
C
ert
Path
=
""
_r
eal
_c
ert
=
""
fi
fi
if
[
"
$
Le_RealKeyPath
"
=
"
$NO_VALUE
"
]
;
then
if
[
"
$
_real_key
"
=
"
$NO_VALUE
"
]
;
then
Le_RealKeyPath
=
""
_real_key
=
""
fi
fi
if
[
"
$
Le_RealCACertPath
"
=
"
$NO_VALUE
"
]
;
then
if
[
"
$
_real_ca
"
=
"
$NO_VALUE
"
]
;
then
Le_RealCACertPath
=
""
_real_ca
=
""
fi
fi
if
[
"
$
Le_R
eload
C
md
"
=
"
$NO_VALUE
"
]
;
then
if
[
"
$
_r
eload
_c
md
"
=
"
$NO_VALUE
"
]
;
then
Le_R
eload
C
md
=
""
_r
eload
_c
md
=
""
fi
fi
if
[
"
$
Le_R
eal
F
ull
C
hain
Path
"
=
"
$NO_VALUE
"
]
;
then
if
[
"
$
_r
eal
_f
ull
c
hain
"
=
"
$NO_VALUE
"
]
;
then
Le_R
eal
F
ull
C
hain
Path
=
""
_r
eal
_f
ull
c
hain
=
""
fi
fi
if
[
"
$Le_RealCertPath
"
]
;
then
if
[
"
$_real_cert
"
]
;
then
_info
"Installing cert to:
$_real_cert
"
_info
"Installing cert to:
$Le_RealCertPath
"
if
[
-f
"
$_real_cert
"
]
&&
[
!
"
$IS_RENEW
"
]
;
then
if
[
-f
"
$Le_RealCertPath
"
]
&&
[
!
"
$IS_RENEW
"
]
;
then
mkdir
-p
"
$DOMAIN_BACKUP_PATH
"
mkdir
-p
"
$DOMAIN_BACKUP_PATH
"
cp
"
$
Le_R
eal
C
ert
Path
"
"
$DOMAIN_BACKUP_PATH
/cert.bak"
cp
"
$
_r
eal
_c
ert
"
"
$DOMAIN_BACKUP_PATH
/cert.bak"
fi
fi
cat
"
$CERT_PATH
"
>
"
$
Le_R
eal
C
ert
Path
"
cat
"
$CERT_PATH
"
>
"
$
_r
eal
_c
ert
"
fi
fi
if
[
"
$Le_RealCACertPath
"
]
;
then
if
[
"
$_real_ca
"
]
;
then
_info
"Installing CA to:
$_real_ca
"
_info
"Installing CA to:
$Le_RealCACertPath
"
if
[
"
$_real_ca
"
=
"
$_real_cert
"
]
;
then
if
[
"
$Le_RealCACertPath
"
=
"
$Le_RealCertPath
"
]
;
then
echo
""
>>
"
$_real_ca
"
echo
""
>>
"
$Le_RealCACertPath
"
cat
"
$CA_CERT_PATH
"
>>
"
$_real_ca
"
cat
"
$CA_CERT_PATH
"
>>
"
$Le_RealCACertPath
"
else
else
if
[
-f
"
$
Le_RealCACertPath
"
]
&&
[
!
"
$IS_RENEW
"
]
;
then
if
[
-f
"
$
_real_ca
"
]
&&
[
!
"
$IS_RENEW
"
]
;
then
mkdir
-p
"
$DOMAIN_BACKUP_PATH
"
mkdir
-p
"
$DOMAIN_BACKUP_PATH
"
cp
"
$
Le_RealCACertPath
"
"
$DOMAIN_BACKUP_PATH
/ca.bak"
cp
"
$
_real_ca
"
"
$DOMAIN_BACKUP_PATH
/ca.bak"
fi
fi
cat
"
$CA_CERT_PATH
"
>
"
$
Le_RealCACertPath
"
cat
"
$CA_CERT_PATH
"
>
"
$
_real_ca
"
fi
fi
fi
fi
if
[
"
$Le_RealKeyPath
"
]
;
then
if
[
"
$_real_key
"
]
;
then
_info
"Installing key to:
$_real_key
"
_info
"Installing key to:
$Le_RealKeyPath
"
if
[
-f
"
$_real_key
"
]
&&
[
!
"
$IS_RENEW
"
]
;
then
if
[
-f
"
$Le_RealKeyPath
"
]
&&
[
!
"
$IS_RENEW
"
]
;
then
mkdir
-p
"
$DOMAIN_BACKUP_PATH
"
mkdir
-p
"
$DOMAIN_BACKUP_PATH
"
cp
"
$
Le_RealKeyPath
"
"
$DOMAIN_BACKUP_PATH
/key.bak"
cp
"
$
_real_key
"
"
$DOMAIN_BACKUP_PATH
/key.bak"
fi
fi
cat
"
$CERT_KEY_PATH
"
>
"
$
Le_RealKeyPath
"
cat
"
$CERT_KEY_PATH
"
>
"
$
_real_key
"
fi
fi
if
[
"
$Le_RealFullChainPath
"
]
;
then
if
[
"
$_real_fullchain
"
]
;
then
_info
"Installing full chain to:
$_real_fullchain
"
_info
"Installing full chain to:
$Le_RealFullChainPath
"
if
[
-f
"
$_real_fullchain
"
]
&&
[
!
"
$IS_RENEW
"
]
;
then
if
[
-f
"
$Le_RealFullChainPath
"
]
&&
[
!
"
$IS_RENEW
"
]
;
then
mkdir
-p
"
$DOMAIN_BACKUP_PATH
"
mkdir
-p
"
$DOMAIN_BACKUP_PATH
"
cp
"
$
Le_R
eal
F
ull
C
hain
Path
"
"
$DOMAIN_BACKUP_PATH
/fullchain.bak"
cp
"
$
_r
eal
_f
ull
c
hain
"
"
$DOMAIN_BACKUP_PATH
/fullchain.bak"
fi
fi
cat
"
$CERT_FULLCHAIN_PATH
"
>
"
$
Le_R
eal
F
ull
C
hain
Path
"
cat
"
$CERT_FULLCHAIN_PATH
"
>
"
$
_r
eal
_f
ull
c
hain
"
fi
fi
if
[
"
$
Le_R
eload
C
md
"
]
;
then
if
[
"
$
_r
eload
_c
md
"
]
;
then
_info
"Run
Le_R
eload
C
md:
$
Le_R
eload
C
md
"
_info
"Run
r
eload
c
md:
$
_r
eload
_c
md
"
if
(
if
(
export
CERT_PATH
export
CERT_PATH
export
CERT_KEY_PATH
export
CERT_KEY_PATH
export
CA_CERT_PATH
export
CA_CERT_PATH
export
CERT_FULLCHAIN_PATH
export
CERT_FULLCHAIN_PATH
cd
"
$DOMAIN_PATH
"
&&
eval
"
$
Le_R
eload
C
md
"
cd
"
$DOMAIN_PATH
"
&&
eval
"
$
_r
eload
_c
md
"
)
;
then
)
;
then
_info
"
$(
__green
"Reload success"
)
"
_info
"
$(
__green
"Reload success"
)
"
else
else
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment