aboutsummaryrefslogtreecommitdiff
path: root/test/002-test-key-name.test
diff options
context:
space:
mode:
Diffstat (limited to 'test/002-test-key-name.test')
-rwxr-xr-xtest/002-test-key-name.test/run.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/002-test-key-name.test/run.sh b/test/002-test-key-name.test/run.sh
new file mode 100755
index 0000000..e4b4acb
--- /dev/null
+++ b/test/002-test-key-name.test/run.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+set -e
+
+key="$(mktemp)"
+stderr="$(mktemp)"
+
+# Four character search should be a < 1 second CPU burst for CI runner
+${EXECUTABLE} -s site > $key 2>$stderr
+
+found="$(tr '\r' '\n' < $stderr | grep Found | cut -d ' ' -f 2)"
+
+echo "sand-leek says it found $found..."
+
+# Trick adapted to py3 from https://swehack.org/viewtopic.php?f=37&p=6978
+real="$( \
+ openssl rsa -in $key -pubout -outform DER \
+ | tail -c +23 \
+ | shasum \
+ | head -c 20 \
+ | python -c "import base64,sys,codecs; print(base64.b32encode(codecs.decode(sys.stdin.readline().strip('\n'), 'hex')).decode().lower())").onion"
+
+
+echo "Key analysis shows it's for ${real}"
+
+if [ "$found" = "$real" ] ; then
+ echo "It's a match, I'm happy"
+ rm $key
+ rm $stderr
+ exit 0
+else
+ echo "Error: No match"
+ exit 1
+fi