Browse Source

Merge pull request #486 from srvrco/urlbase64_decode

Use urlbase64_decode instead of base64 -d
pull/488/head
Tim Kimber 6 years ago
committed by GitHub
parent
commit
935163554d
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 1 deletions
  1. +13
    -1
      getssl

+ 13
- 1
getssl View File

@ -1462,7 +1462,7 @@ send_signed_request() { # Sends a request to the ACME server, signed with your p
responseHeaders=$(cat "$CURL_HEADER")
if [[ "$needbase64" && ${response##*()} != "{"* ]]; then
# response is in base64 too, decode
response=$(echo "$response" | base64 -d 2>&1)
response=$(urlbase64_decode "$response")
fi
debug responseHeaders "$responseHeaders"
@ -1578,6 +1578,18 @@ urlbase64() { # urlbase64: base64 encoded string with '+' replaced with '-' and
openssl base64 -e | tr -d '\n\r' | os_esed -e 's:=*$::g' -e 'y:+/:-_:'
}
# base64url decode
# From: https://gist.github.com/alvis/89007e96f7958f2686036d4276d28e47
urlbase64_decode() {
INPUT=$1 # $(if [ -z "$1" ]; then echo -n $(cat -); else echo -n "$1"; fi)
MOD=$(($(echo -n "$INPUT" | wc -c) % 4))
PADDING=$(if [ $MOD -eq 2 ]; then echo -n '=='; elif [ $MOD -eq 3 ]; then echo -n '=' ; fi)
echo -n "$INPUT$PADDING" |
sed s/-/+/g |
sed s/_/\\//g |
openssl base64 -d -A
}
usage() { # echos out the program usage
echo "Usage: $PROGNAME [-h|--help] [-d|--debug] [-c|--create] [-f|--force] [-a|--all] [-q|--quiet]"\
"[-Q|--mute] [-u|--upgrade] [-k|--keep #] [-U|--nocheck] [-r|--revoke cert key] [-w working_dir] domain"


Loading…
Cancel
Save