Browse Source

completed initial testing on acme-staging-v02.api.letsencrypt.org

pull/452/head
srvrco 8 years ago
committed by Damir Mitrovic
parent
commit
692920eec7
1 changed files with 32 additions and 19 deletions
  1. +32
    -19
      getssl

+ 32
- 19
getssl View File

@ -1353,7 +1353,7 @@ send_signed_request() { # Sends a request to the ACME server, signed with your p
nonceurl="$CA/directory"
nonce=$($CURL -I $nonceurl | grep "^Replay-Nonce:" | awk '{print $2}' | tr -d '\r\n ')
else # APIv2
nonce=$($CURL -I "$URL_newNonce" | grep "^replay-nonce:" | awk '{print $2}' | tr -d '\r\n ')
nonce=$($CURL -I "$URL_newNonce" | grep "^Replay-Nonce:" | awk '{print $2}' | tr -d '\r\n ')
fi
nonceproblem="true"
@ -1874,27 +1874,36 @@ if [[ -e "$DOMAIN_DIR/FORCE_RENEWAL" ]]; then
fi
# Obtain CA resource locations
if [[ $API -eq 1 ]]; then
ca_all_loc=$(curl "${CA}" 2>/dev/null)
debug "ca_all_loc from ${CA} gives $ca_all_loc"
# APIv1
URL_new_reg=$(echo "$ca_all_loc" | grep "new-reg" | awk -F'"' '{print $4}')
URL_new_authz=$(echo "$ca_all_loc" | grep "new-authz" | awk -F'"' '{print $4}')
URL_new_cert=$(echo "$ca_all_loc" | grep "new-cert" | awk -F'"' '{print $4}')
#API v2
URL_newAccount=$(echo "$ca_all_loc" | grep "newAccount" | awk -F'"' '{print $4}')
URL_newNonce=$(echo "$ca_all_loc" | grep "newNonce" | awk -F'"' '{print $4}')
URL_newOrder=$(echo "$ca_all_loc" | grep "newOrder" | awk -F'"' '{print $4}')
if [[ -z "$URL_new_reg" ]] && [[ -z "$URL_newAccount" ]]; then
ca_all_loc=$(curl "${CA}/directory" 2>/dev/null)
debug "ca_all_loc from ${CA}/dir gives $ca_all_loc"
debug "ca_all_loc from ${CA}/directory gives $ca_all_loc"
# APIv1
URL_new_reg=$(echo "$ca_all_loc" | grep "new-reg" | awk -F'"' '{print $4}')
URL_new_authz=$(echo "$ca_all_loc" | grep "new-authz" | awk -F'"' '{print $4}')
URL_new_cert=$(echo "$ca_all_loc" | grep "new-cert" | awk -F'"' '{print $4}')
if [[ -z "$URL_new_reg" ]]; then
API=2
debug "API=1 failed, setting API=2"
fi
fi
if [[ $API -eq 2 ]]; then
ca_all_loc=$(curl "${CA}/dir" 2>/dev/null)
debug "ca_all_loc from ${CA}/dir gives $ca_all_loc"
#API v2
URL_newAccount=$(echo "$ca_all_loc" | grep "newAccount" | awk -F'"' '{print $4}')
URL_newNonce=$(echo "$ca_all_loc" | grep "newNonce" | awk -F'"' '{print $4}')
URL_newOrder=$(echo "$ca_all_loc" | grep "newOrder" | awk -F'"' '{print $4}')
if [[ -z "$ca_all_loc" ]]; then
debug "unknown API type"
graceful_exit
fi
fi
if [[ ! -z "$URL_new_reg" ]]; then
API=1
elif [[ ! -z "$URL_newAccount" ]]; then
API=2
else
info "unknown API version"
graceful_exit
fi
# if check_remote is true then connect and obtain the current certificate (if not forcing renewal)
@ -2074,11 +2083,13 @@ if [[ "$code" == "" ]] || [[ "$code" == '201' ]] ; then
debug "KID=_$KID}_"
echo "$response" > "$TEMP_DIR/account.json"
elif [[ "$code" == '409' ]] ; then
debug "Already registered"
KID=$(echo "$responseHeaders" | grep -i "^location" | awk '{print $2}'| tr -d '\r\n ')
debug responseHeaders "$responseHeaders"
debug "Already registered KID=$KID"
elif [[ "$code" == '200' ]] ; then
KID=$(echo "$responseHeaders" | grep location | awk '{print $2}'| tr -d '\r\n ')
KID=$(echo "$responseHeaders" | grep -i "^location" | awk '{print $2}'| tr -d '\r\n ')
debug responseHeaders "$responseHeaders"
debug "Already registered account, KID=_${KID}_"
debug "Already registered account, KID=${KID}"
else
error_exit "Error registering account ...$responseHeaders ... $(json_get "$response" detail)"
fi
@ -2100,7 +2111,9 @@ if [[ $API -eq 2 ]]; then
dstring="${dstring}{\"type\":\"dns\",\"value\":\"$d\"},"
done
dstring="${dstring: : -1}]"
#new URL_newOrder
# request NewOrder currently seems to ignore the dates ....
# dstring="${dstring},\"notBefore\": \"$(date -d "-1 hour" --utc +%FT%TZ)\""
# dstring="${dstring},\"notAfter\": \"$(date -d "2 days" --utc +%FT%TZ)\""
request="{\"identifiers\": $dstring}"
send_signed_request "$URL_newOrder" "$request"
OrderLink=$(echo "$responseHeaders" | grep location | awk '{print $2}'| tr -d '\r\n ')


Loading…
Cancel
Save