Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ruanhaishen
Acme.Sh
Commits
4967fa02
Unverified
Commit
4967fa02
authored
Jun 13, 2021
by
neil
Committed by
GitHub
Jun 13, 2021
Browse files
Merge pull request #3552 from acmesh-official/dev
sync
parents
9293bcfb
54f2640e
Changes
4
Hide whitespace changes
Inline
Side-by-side
.github/workflows/LetsEncrypt.yml
View file @
4967fa02
...
...
@@ -16,34 +16,89 @@ on:
jobs
:
Ubuntu
:
strategy
:
matrix
:
include
:
-
TEST_ACME_Server
:
"
"
CA_ECDSA
:
"
"
CA
:
"
"
CA_EMAIL
:
"
"
-
TEST_ACME_Server
:
"
https://acme.zerossl.com/v2/DV90"
CA_ECDSA
:
"
ZeroSSL
ECC
Domain
Secure
Site
CA"
CA
:
"
ZeroSSL
RSA
Domain
Secure
Site
CA"
CA_EMAIL
:
"
githubtest@acme.sh"
runs-on
:
ubuntu-latest
env
:
TEST_LOCAL
:
1
ACME_DIRECTORY
:
${{ matrix.TEST_ACME_Server }}
CA_ECDSA
:
${{ matrix.CA_ECDSA }}
CA
:
${{ matrix.CA }}
CA_EMAIL
:
${{ matrix.CA_EMAIL }}
steps
:
-
uses
:
actions/checkout@v2
-
name
:
Install tools
run
:
sudo apt-get install -y socat
-
name
:
Clone acmetest
run
:
cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
run
:
|
cd .. \
&& git clone https://github.com/acmesh-official/acmetest.git \
&& cp -r acme.sh acmetest/
-
name
:
Run acmetest
run
:
cd ../acmetest && sudo --preserve-env ./letest.sh
run
:
|
cd ../acmetest \
&& sudo --preserve-env ./letest.sh
MacOS
:
strategy
:
matrix
:
include
:
-
TEST_ACME_Server
:
"
"
CA_ECDSA
:
"
"
CA
:
"
"
CA_EMAIL
:
"
"
-
TEST_ACME_Server
:
"
https://acme.zerossl.com/v2/DV90"
CA_ECDSA
:
"
ZeroSSL
ECC
Domain
Secure
Site
CA"
CA
:
"
ZeroSSL
RSA
Domain
Secure
Site
CA"
CA_EMAIL
:
"
githubtest@acme.sh"
runs-on
:
macos-latest
env
:
TEST_LOCAL
:
1
ACME_DIRECTORY
:
${{ matrix.TEST_ACME_Server }}
CA_ECDSA
:
${{ matrix.CA_ECDSA }}
CA
:
${{ matrix.CA }}
CA_EMAIL
:
${{ matrix.CA_EMAIL }}
steps
:
-
uses
:
actions/checkout@v2
-
name
:
Install tools
run
:
brew install socat
-
name
:
Clone acmetest
run
:
cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
run
:
|
cd .. \
&& git clone https://github.com/acmesh-official/acmetest.git \
&& cp -r acme.sh acmetest/
-
name
:
Run acmetest
run
:
cd ../acmetest && sudo --preserve-env ./letest.sh
run
:
|
cd ../acmetest \
&& sudo --preserve-env ./letest.sh
Windows
:
strategy
:
matrix
:
include
:
-
TEST_ACME_Server
:
"
"
CA_ECDSA
:
"
"
CA
:
"
"
CA_EMAIL
:
"
"
-
TEST_ACME_Server
:
"
https://acme.zerossl.com/v2/DV90"
CA_ECDSA
:
"
ZeroSSL
ECC
Domain
Secure
Site
CA"
CA
:
"
ZeroSSL
RSA
Domain
Secure
Site
CA"
CA_EMAIL
:
"
githubtest@acme.sh"
runs-on
:
windows-latest
env
:
ACME_DIRECTORY
:
${{ matrix.TEST_ACME_Server }}
CA_ECDSA
:
${{ matrix.CA_ECDSA }}
CA
:
${{ matrix.CA }}
CA_EMAIL
:
${{ matrix.CA_EMAIL }}
TEST_LOCAL
:
1
#The 80 port is used by Windows server, we have to use a custom port, tunnel will also use this port.
Le_HTTPPort
:
8888
...
...
@@ -77,9 +132,24 @@ jobs:
run
:
cd ../acmetest && bash.exe -c ./letest.sh
FreeBSD
:
strategy
:
matrix
:
include
:
-
TEST_ACME_Server
:
"
"
CA_ECDSA
:
"
"
CA
:
"
"
CA_EMAIL
:
"
"
-
TEST_ACME_Server
:
"
https://acme.zerossl.com/v2/DV90"
CA_ECDSA
:
"
ZeroSSL
ECC
Domain
Secure
Site
CA"
CA
:
"
ZeroSSL
RSA
Domain
Secure
Site
CA"
CA_EMAIL
:
"
githubtest@acme.sh"
runs-on
:
macos-latest
env
:
TEST_LOCAL
:
1
ACME_DIRECTORY
:
${{ matrix.TEST_ACME_Server }}
CA_ECDSA
:
${{ matrix.CA_ECDSA }}
CA
:
${{ matrix.CA }}
CA_EMAIL
:
${{ matrix.CA_EMAIL }}
steps
:
-
uses
:
actions/checkout@v2
-
uses
:
vmactions/cf-tunnel@v0.0.2
...
...
@@ -93,18 +163,34 @@ jobs:
run
:
cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
-
uses
:
vmactions/freebsd-vm@v0.1.4
with
:
envs
:
'
TEST_LOCAL
TestingDomain'
envs
:
'
TEST_LOCAL
TestingDomain
ACME_DIRECTORY
CA_ECDSA
CA
CA_EMAIL
'
nat
:
|
"8080": "80"
prepare
:
pkg install -y socat curl
usesh
:
true
run
:
|
cd ../acmetest && ./letest.sh
cd ../acmetest \
&& ./letest.sh
Solaris
:
strategy
:
matrix
:
include
:
-
TEST_ACME_Server
:
"
"
CA_ECDSA
:
"
"
CA
:
"
"
CA_EMAIL
:
"
"
-
TEST_ACME_Server
:
"
https://acme.zerossl.com/v2/DV90"
CA_ECDSA
:
"
ZeroSSL
ECC
Domain
Secure
Site
CA"
CA
:
"
ZeroSSL
RSA
Domain
Secure
Site
CA"
CA_EMAIL
:
"
githubtest@acme.sh"
runs-on
:
macos-latest
env
:
TEST_LOCAL
:
1
ACME_DIRECTORY
:
${{ matrix.TEST_ACME_Server }}
CA_ECDSA
:
${{ matrix.CA_ECDSA }}
CA
:
${{ matrix.CA }}
CA_EMAIL
:
${{ matrix.CA_EMAIL }}
steps
:
-
uses
:
actions/checkout@v2
-
uses
:
vmactions/cf-tunnel@v0.0.2
...
...
@@ -118,10 +204,11 @@ jobs:
run
:
cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
-
uses
:
vmactions/solaris-vm@v0.0.3
with
:
envs
:
'
TEST_LOCAL
TestingDomain'
envs
:
'
TEST_LOCAL
TestingDomain
ACME_DIRECTORY
CA_ECDSA
CA
CA_EMAIL
'
nat
:
|
"8080": "80"
prepare
:
pkgutil -y -i socat curl
run
:
|
cd ../acmetest && ./letest.sh
cd ../acmetest \
&& ./letest.sh
acme.sh
View file @
4967fa02
#!/usr/bin/env sh
VER
=
2.9
.0
VER
=
3.0
.0
PROJECT_NAME
=
"acme.sh"
...
...
@@ -29,7 +29,7 @@ CA_BUYPASS_TEST="https://api.test4.buypass.no/acme/directory"
CA_ZEROSSL
=
"https://acme.zerossl.com/v2/DV90"
_ZERO_EAB_ENDPOINT
=
"http://api.zerossl.com/acme/eab-credentials-email"
DEFAULT_CA
=
$CA_
LETSENCRYPT_V2
DEFAULT_CA
=
$CA_
ZEROSSL
DEFAULT_STAGING_CA
=
$CA_LETSENCRYPT_V2_TEST
CA_NAMES
=
"
...
...
@@ -3056,7 +3056,7 @@ _checkConf() {
_debug
"Try include files"
for
included
in
$(
cat
"
$2
"
|
tr
"
\t
"
" "
|
grep
"^ *include *.*;"
|
sed
"s/include //"
|
tr
-d
" ;"
)
;
do
_debug
"check included
$included
"
if
!
_startswith
"
$included
"
"/"
&&
_exists
dirname
;
then
if
!
_startswith
"
$included
"
"/"
&&
_exists
dirname
;
then
_relpath
=
"
$(
dirname
"
$_c_file
"
)
"
_debug
"_relpath"
"
$_relpath
"
included
=
"
$_relpath
/included"
...
...
@@ -3526,8 +3526,10 @@ _regAccount() {
if
[
-z
"
$_eab_id
"
]
||
[
-z
"
$_eab_hmac_key
"
]
;
then
_info
"No EAB credentials found for ZeroSSL, let's get one"
if
[
-z
"
$_email
"
]
;
then
_err
"Please provide a email address for ZeroSSL account."
_err
"See ZeroSSL usage:
$_ZEROSSL_WIKI
"
_info
"
$(
__green
"
$PROJECT_NAME
is using ZeroSSL as default CA now."
)
"
_info
"
$(
__green
"Please update your account with an email address first."
)
"
_info
"
$(
__green
"
$PROJECT_ENTRY
--register-account -m my@example.com"
)
"
_info
"See:
$(
__green
"
$_ZEROSSL_WIKI
"
)
"
return
1
fi
_eabresp
=
$(
_post
"email=
$_email
"
$_ZERO_EAB_ENDPOINT
)
...
...
@@ -3538,11 +3540,13 @@ _regAccount() {
fi
_debug2
"
$_eabresp
"
_eab_id
=
"
$(
echo
"
$_eabresp
"
|
tr
',}'
'\n'
|
grep
'"eab_kid"'
|
cut
-d
:
-f
2 |
tr
-d
'"'
)
"
_secure_debug2 _eab_id
"
$_eab_id
"
if
[
-z
"
$_eab_id
"
]
;
then
_err
"Can not resolve _eab_id"
return
1
fi
_eab_hmac_key
=
"
$(
echo
"
$_eabresp
"
|
tr
',}'
'\n'
|
grep
'"eab_hmac_key"'
|
cut
-d
:
-f
2 |
tr
-d
'"'
)
"
_secure_debug2 _eab_hmac_key
"
$_eab_hmac_key
"
if
[
-z
"
$_eab_hmac_key
"
]
;
then
_err
"Can not resolve _eab_hmac_key"
return
1
...
...
@@ -3564,7 +3568,7 @@ _regAccount() {
eab_sign_t
=
"
$eab_protected64
.
$eab_payload64
"
_debug3 eab_sign_t
"
$eab_sign_t
"
key_hex
=
"
$(
_durl_replace_base64
"
$_eab_hmac_key
"
| _dbase64 | _hex_dump |
tr
-d
' '
)
"
key_hex
=
"
$(
_durl_replace_base64
"
$_eab_hmac_key
"
| _dbase64
multi
| _hex_dump |
tr
-d
' '
)
"
_debug3 key_hex
"
$key_hex
"
eab_signature
=
$(
printf
"%s"
"
$eab_sign_t
"
| _hmac sha256
$key_hex
| _base64 | _url_replace
)
...
...
dnsapi/dns_1984hosting.sh
View file @
4967fa02
...
...
@@ -59,7 +59,7 @@ dns_1984hosting_add() {
if
_contains
"
$response
"
'"haserrors": true'
;
then
_err
"1984Hosting failed to add TXT record for
$_sub_domain
bad RC from _post"
return
1
elif
_contains
"
$response
"
"
<
html>"
;
then
elif
_contains
"
$response
"
"html>"
;
then
_err
"1984Hosting failed to add TXT record for
$_sub_domain
. Check
$HTTP_HEADER
file"
return
1
elif
_contains
"
$response
"
'"auth": false'
;
then
...
...
@@ -204,7 +204,7 @@ _get_root() {
fi
_authget
"https://management.1984hosting.com/domains/soacheck/?zone=
$h
&nameserver=ns0.1984.is."
if
_contains
"
$_response
"
"serial"
&&
!
_contains
"
$_response
"
'
null
}'
;
then
if
_contains
"
$_response
"
"serial"
&&
!
_contains
"
$_response
"
"
null
"
;
then
_sub_domain
=
$(
printf
"%s"
"
$domain
"
|
cut
-d
.
-f
1-
$p
)
_domain
=
"
$h
"
return
0
...
...
dnsapi/dns_vultr.sh
View file @
4967fa02
...
...
@@ -33,7 +33,7 @@ dns_vultr_add() {
_debug
'Getting txt records'
_vultr_rest GET
"dns/records?domain=
$_domain
"
if
printf
"%s
\n
"
"
$response
"
|
grep
"
\"
type
\"
:
\"
TXT
\"
,
\"
name
\"
:
\"
$fulldomain
\"
"
>
/dev/null
;
then
if
printf
"%s
\n
"
"
$response
"
|
grep
--
"
\"
type
\"
:
\"
TXT
\"
,
\"
name
\"
:
\"
$fulldomain
\"
"
>
/dev/null
;
then
_err
'Error'
return
1
fi
...
...
@@ -73,12 +73,12 @@ dns_vultr_rm() {
_debug
'Getting txt records'
_vultr_rest GET
"dns/records?domain=
$_domain
"
if
printf
"%s
\n
"
"
$response
"
|
grep
"
\"
type
\"
:
\"
TXT
\"
,
\"
name
\"
:
\"
$fulldomain
\"
"
>
/dev/null
;
then
if
printf
"%s
\n
"
"
$response
"
|
grep
--
"
\"
type
\"
:
\"
TXT
\"
,
\"
name
\"
:
\"
$fulldomain
\"
"
>
/dev/null
;
then
_err
'Error'
return
1
fi
_record_id
=
"
$(
echo
"
$response
"
|
tr
'{}'
'\n'
|
grep
'"TXT"'
|
grep
"
$txtvalue
"
|
tr
','
'\n'
|
grep
-i
'RECORDID'
|
cut
-d
:
-f
2
)
"
_record_id
=
"
$(
echo
"
$response
"
|
tr
'{}'
'\n'
|
grep
'"TXT"'
|
grep
--
"
$txtvalue
"
|
tr
','
'\n'
|
grep
-i
'RECORDID'
|
cut
-d
:
-f
2
)
"
_debug _record_id
"
$_record_id
"
if
[
"
$_record_id
"
]
;
then
_info
"Successfully retrieved the record id for ACME challenge."
...
...
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