|
@@ -436,6 +436,31 @@ _digest() {
|
|
|
|
|
|
}
|
|
|
|
|
|
+#Usage: hashalg secret [outputhex]
|
|
|
+#Output Base64-encoded hmac
|
|
|
+_hmac() {
|
|
|
+ alg="$1"
|
|
|
+ hmac_sec="$2"
|
|
|
+ outputhex="$3"
|
|
|
+
|
|
|
+ if [ -z "$hmac_sec" ] ; then
|
|
|
+ _usage "Usage: _hmac hashalg secret [outputhex]"
|
|
|
+ return 1
|
|
|
+ fi
|
|
|
+
|
|
|
+ if [ "$alg" = "sha256" ] || [ "$alg" = "sha1" ]; then
|
|
|
+ if [ "$outputhex" ] ; then
|
|
|
+ openssl dgst -$alg -hmac "$hmac_sec" | cut -d = -f 2 | tr -d ' '
|
|
|
+ else
|
|
|
+ openssl dgst -$alg -hmac "$hmac_sec" -binary | _base64
|
|
|
+ fi
|
|
|
+ else
|
|
|
+ _err "$alg is not supported yet"
|
|
|
+ return 1
|
|
|
+ fi
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
#Usage: keyfile hashalg
|
|
|
#Output: Base64-encoded signature value
|
|
|
_sign() {
|
|
@@ -2297,8 +2322,12 @@ _findHook() {
|
|
|
_hookdomain="$1"
|
|
|
_hookcat="$2"
|
|
|
_hookname="$3"
|
|
|
-
|
|
|
- if [ -f "$LE_WORKING_DIR/$_hookdomain/$_hookname" ] ; then
|
|
|
+
|
|
|
+ if [ -f "$_SCRIPT_HOME/$_hookdomain/$_hookname" ] ; then
|
|
|
+ d_api="$_SCRIPT_HOME/$_hookdomain/$_hookname"
|
|
|
+ elif [ -f "$_SCRIPT_HOME/$_hookdomain/$_hookname.sh" ] ; then
|
|
|
+ d_api="$_SCRIPT_HOME/$_hookdomain/$_hookname.sh"
|
|
|
+ elif [ -f "$LE_WORKING_DIR/$_hookdomain/$_hookname" ] ; then
|
|
|
d_api="$LE_WORKING_DIR/$_hookdomain/$_hookname"
|
|
|
elif [ -f "$LE_WORKING_DIR/$_hookdomain/$_hookname.sh" ] ; then
|
|
|
d_api="$LE_WORKING_DIR/$_hookdomain/$_hookname.sh"
|