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
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