aboutsummaryrefslogtreecommitdiff
path: root/cmd/sigsum/test
diff options
context:
space:
mode:
authorRasmus Dahlberg <rasmus@mullvad.net>2022-04-13 15:07:34 +0200
committerRasmus Dahlberg <rasmus@mullvad.net>2022-04-13 15:07:34 +0200
commitd86d2433e0da077063bb21dc7c29d491c6fe862f (patch)
tree5f760e33f25bfea5fca3fcb7c9f1f43d79dc99d9 /cmd/sigsum/test
parent468b097a63c52fbf851c4cc99d8b716a13c19aa9 (diff)
parentee322c9e18b9675aab08f4c9f38f6be19b1d6890 (diff)
Merge branch 'sshsig' into main
Diffstat (limited to 'cmd/sigsum/test')
-rw-r--r--cmd/sigsum/test/keys/ssh7
-rw-r--r--cmd/sigsum/test/keys/ssh.pub1
-rwxr-xr-xcmd/sigsum/test/ssh.sh53
3 files changed, 61 insertions, 0 deletions
diff --git a/cmd/sigsum/test/keys/ssh b/cmd/sigsum/test/keys/ssh
new file mode 100644
index 0000000..2bbd974
--- /dev/null
+++ b/cmd/sigsum/test/keys/ssh
@@ -0,0 +1,7 @@
+-----BEGIN OPENSSH PRIVATE KEY-----
+b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
+QyNTUxOQAAACC/0wdPezO/W1upVq2RduQ/ieEHn0r6LgwkXEINfJ52fQAAAJCRqZKpkamS
+qQAAAAtzc2gtZWQyNTUxOQAAACC/0wdPezO/W1upVq2RduQ/ieEHn0r6LgwkXEINfJ52fQ
+AAAEClIbTUqSPBTrfD9MCpwTF1Fwit4NXU2ci3R57uq4Aic7/TB097M79bW6lWrZF25D+J
+4QefSvouDCRcQg18nnZ9AAAACmxpbnVzQGJlc2sBAgM=
+-----END OPENSSH PRIVATE KEY-----
diff --git a/cmd/sigsum/test/keys/ssh.pub b/cmd/sigsum/test/keys/ssh.pub
new file mode 100644
index 0000000..14588ac
--- /dev/null
+++ b/cmd/sigsum/test/keys/ssh.pub
@@ -0,0 +1 @@
+ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL/TB097M79bW6lWrZF25D+J4QefSvouDCRcQg18nnZ9 linus@besk
diff --git a/cmd/sigsum/test/ssh.sh b/cmd/sigsum/test/ssh.sh
new file mode 100755
index 0000000..56cae70
--- /dev/null
+++ b/cmd/sigsum/test/ssh.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+set -eu
+trap cleanup EXIT
+
+priv=keys/ssh
+pub=keys/ssh.pub
+domain_hint=_sigsum_v0.ssh.test.sigsum.org
+msg=msg-$(date +%s)
+num_msg=3
+
+function cleanup() {
+ set +e
+
+ rm -f sigsum
+ for i in $(seq 1 $num_msg); do
+ rm -f $msg-$i{,.trunnel,.sig}
+ done
+
+ exit
+}
+
+go build ../
+
+files=""
+for i in $(seq 1 $num_msg); do
+ echo $msg-$i > $msg-$i
+ if ! openssl dgst -binary $msg-$i | ssh-keygen \
+ -Y sign \
+ -O hashalg=sha256 \
+ -f $priv \
+ -n $(./sigsum namespace) > $msg-$i.sig ; then
+ echo "[FAIL] sign for $num_msg ssh message(s)" >&2
+ exit 1
+ fi
+ files=$(echo -n $files $msg-$i)
+done
+
+echo "[PASS] sign for $num_msg ssh message(s)" >&2
+
+if ! ./sigsum bundle -t ssh -k $pub -d $domain_hint $files; then
+ echo "[FAIL] bundle for $num_msg ssh message(s)" >&2
+ exit 1
+fi
+
+echo "[PASS] bundle for $num_msg ssh message(s)" >&2
+
+if ! ./sigsum verify -t ssh -k $pub $files; then
+ echo "[FAIL] verify for $num_msg ssh message(s)" >&2
+ exit 1
+fi
+
+echo "[PASS] verify for $num_msg ssh message(s)" >&2