|
|
@ -834,15 +834,18 @@ _calcjwk() { |
|
|
|
return 1 |
|
|
|
fi |
|
|
|
|
|
|
|
if [ "$JWK_HEADER" ] && [ "$__CACHED_JWK_KEY_FILE" = "$keyfile" ] ; then |
|
|
|
_debug2 "Use cached jwk for file: $__CACHED_JWK_KEY_FILE" |
|
|
|
return 0 |
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EC_SIGN="" |
|
|
|
if grep "BEGIN RSA PRIVATE KEY" "$keyfile" > /dev/null 2>&1 ; then |
|
|
|
_debug "RSA key" |
|
|
|
|
|
|
|
if [ "$JWK_HEADER" ] && [ "$__CACHED_JWK_KEY_FILE" = "$keyfile" ] ; then |
|
|
|
_debug2 "Use cached jwk for file: $__CACHED_JWK_KEY_FILE" |
|
|
|
return 0 |
|
|
|
fi |
|
|
|
|
|
|
|
pub_exp=$(openssl rsa -in $keyfile -noout -text | grep "^publicExponent:"| cut -d '(' -f 2 | cut -d 'x' -f 2 | cut -d ')' -f 1) |
|
|
|
if [ "${#pub_exp}" = "5" ] ; then |
|
|
|
pub_exp=0$pub_exp |
|
|
@ -861,6 +864,7 @@ _calcjwk() { |
|
|
|
JWK_HEADER='{"alg": "RS256", "jwk": '$jwk'}' |
|
|
|
JWK_HEADERPLACE_PART1='{"nonce": "' |
|
|
|
JWK_HEADERPLACE_PART2='", "alg": "RS256", "jwk": '$jwk'}' |
|
|
|
__CACHED_JWK_KEY_FILE="$keyfile" |
|
|
|
elif grep "BEGIN EC PRIVATE KEY" "$keyfile" > /dev/null 2>&1 ; then |
|
|
|
_debug "EC key" |
|
|
|
EC_SIGN="1" |
|
|
@ -908,7 +912,7 @@ _calcjwk() { |
|
|
|
fi |
|
|
|
|
|
|
|
_debug3 JWK_HEADER "$JWK_HEADER" |
|
|
|
__CACHED_JWK_KEY_FILE="$keyfile" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
_time() { |
|
|
|