Skip to content

Commit d795cb4

Browse files
authored
Merge pull request #6717 from acmesh-official/ari
Ari
2 parents 47f2412 + ee661e5 commit d795cb4

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

acme.sh

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2783,6 +2783,7 @@ _clearAPI() {
27832783
ACME_REVOKE_CERT=""
27842784
ACME_NEW_NONCE=""
27852785
ACME_AGREEMENT=""
2786+
ACME_RENEWAL_INFO=""
27862787
}
27872788

27882789
#server
@@ -2827,13 +2828,17 @@ _initAPI() {
28272828
ACME_AGREEMENT=$(echo "$response" | _egrep_o 'termsOfService" *: *"[^"]*"' | cut -d '"' -f 3)
28282829
export ACME_AGREEMENT
28292830

2831+
ACME_RENEWAL_INFO=$(echo "$response" | _egrep_o 'renewalInfo" *: *"[^"]*"' | cut -d '"' -f 3)
2832+
export ACME_RENEWAL_INFO
2833+
28302834
_debug "ACME_KEY_CHANGE" "$ACME_KEY_CHANGE"
28312835
_debug "ACME_NEW_AUTHZ" "$ACME_NEW_AUTHZ"
28322836
_debug "ACME_NEW_ORDER" "$ACME_NEW_ORDER"
28332837
_debug "ACME_NEW_ACCOUNT" "$ACME_NEW_ACCOUNT"
28342838
_debug "ACME_REVOKE_CERT" "$ACME_REVOKE_CERT"
28352839
_debug "ACME_AGREEMENT" "$ACME_AGREEMENT"
28362840
_debug "ACME_NEW_NONCE" "$ACME_NEW_NONCE"
2841+
_debug "ACME_RENEWAL_INFO" "$ACME_RENEWAL_INFO"
28372842
if [ "$ACME_NEW_ACCOUNT" ] && [ "$ACME_NEW_ORDER" ]; then
28382843
return 0
28392844
fi
@@ -6537,6 +6542,36 @@ deactivate() {
65376542
done
65386543
}
65396544

6545+
#cert
6546+
_getAKI() {
6547+
_cert="$1"
6548+
openssl x509 -in "$_cert" -text -noout | grep "X509v3 Authority Key Identifier" -A 1 | _tail_n 1 | tr -d ' :'
6549+
}
6550+
6551+
#cert
6552+
_getSerial() {
6553+
_cert="$1"
6554+
openssl x509 -in "$_cert" -serial -noout | cut -d = -f 2
6555+
}
6556+
6557+
#cert
6558+
_get_ARI() {
6559+
_cert="$1"
6560+
_aki=$(_getAKI "$_cert")
6561+
_ser=$(_getSerial "$_cert")
6562+
_debug2 "_aki" "$_aki"
6563+
_debug2 "_ser" "$_ser"
6564+
6565+
_akiurl="$(echo "$_aki" | _h2b | _base64 | tr -d = | _url_encode)"
6566+
_debug2 "_akiurl" "$_akiurl"
6567+
_serurl="$(echo "$_ser" | _h2b | _base64 | tr -d = | _url_encode)"
6568+
_debug2 "_serurl" "$_serurl"
6569+
6570+
_ARI_URL="$ACME_RENEWAL_INFO/$_akiurl.$_serurl"
6571+
_get "$_ARI_URL"
6572+
6573+
}
6574+
65406575
# Detect profile file if not specified as environment variable
65416576
_detect_profile() {
65426577
if [ -n "$PROFILE" -a -f "$PROFILE" ]; then

0 commit comments

Comments
 (0)