|
|
@ -851,9 +851,9 @@ _calcjwk() { |
|
|
|
jwk='{"e": "'$e'", "kty": "RSA", "n": "'$n'"}' |
|
|
|
_debug3 jwk "$jwk" |
|
|
|
|
|
|
|
HEADER='{"alg": "RS256", "jwk": '$jwk'}' |
|
|
|
HEADERPLACE_PART1='{"nonce": "' |
|
|
|
HEADERPLACE_PART2='", "alg": "RS256", "jwk": '$jwk'}' |
|
|
|
JWK_HEADER='{"alg": "RS256", "jwk": '$jwk'}' |
|
|
|
JWK_HEADERPLACE_PART1='{"nonce": "' |
|
|
|
JWK_HEADERPLACE_PART2='", "alg": "RS256", "jwk": '$jwk'}' |
|
|
|
elif grep "BEGIN EC PRIVATE KEY" "$keyfile" > /dev/null 2>&1 ; then |
|
|
|
_debug "EC key" |
|
|
|
EC_SIGN="1" |
|
|
@ -892,15 +892,15 @@ _calcjwk() { |
|
|
|
jwk='{"kty": "EC", "crv": "'$crv'", "x": "'$x64'", "y": "'$y64'"}' |
|
|
|
_debug3 jwk "$jwk" |
|
|
|
|
|
|
|
HEADER='{"alg": "ES256", "jwk": '$jwk'}' |
|
|
|
HEADERPLACE_PART1='{"nonce": "' |
|
|
|
HEADERPLACE_PART2='", "alg": "ES256", "jwk": '$jwk'}' |
|
|
|
JWK_HEADER='{"alg": "ES256", "jwk": '$jwk'}' |
|
|
|
JWK_HEADERPLACE_PART1='{"nonce": "' |
|
|
|
JWK_HEADERPLACE_PART2='", "alg": "ES256", "jwk": '$jwk'}' |
|
|
|
else |
|
|
|
_err "Only RSA or EC key is supported." |
|
|
|
return 1 |
|
|
|
fi |
|
|
|
|
|
|
|
_debug3 HEADER "$HEADER" |
|
|
|
_debug3 JWK_HEADER "$JWK_HEADER" |
|
|
|
} |
|
|
|
|
|
|
|
_time() { |
|
|
@ -1129,7 +1129,7 @@ _send_signed_request() { |
|
|
|
|
|
|
|
_debug3 nonce "$nonce" |
|
|
|
|
|
|
|
protected="$HEADERPLACE_PART1$nonce$HEADERPLACE_PART2" |
|
|
|
protected="$JWK_HEADERPLACE_PART1$nonce$JWK_HEADERPLACE_PART2" |
|
|
|
_debug3 protected "$protected" |
|
|
|
|
|
|
|
protected64="$(printf "$protected" | _base64 | _urlencode)" |
|
|
@ -1138,7 +1138,7 @@ _send_signed_request() { |
|
|
|
sig=$(printf "%s" "$protected64.$payload64" | _sign "$keyfile" "sha256" | _urlencode) |
|
|
|
_debug3 sig "$sig" |
|
|
|
|
|
|
|
body="{\"header\": $HEADER, \"protected\": \"$protected64\", \"payload\": \"$payload64\", \"signature\": \"$sig\"}" |
|
|
|
body="{\"header\": $JWK_HEADER, \"protected\": \"$protected64\", \"payload\": \"$payload64\", \"signature\": \"$sig\"}" |
|
|
|
_debug3 body "$body" |
|
|
|
|
|
|
|
|
|
|
|