#!/bin/sh

set -e

dir=`dirname "$0"`

# change directory to $AUTOPKGTEST_TMP
cd "${AUTOPKGTEST_TMP}"

cleanup() {
  ex=$?
  rm -f alice.* bob.*
  exit "${ex}"
}
trap "cleanup" EXIT TERM INT

# alice - keypair
ed25519-keypair 5>alice.publickey 9>alice.secretkey
echo 'alice pk: '`xxd -p -c 32 < alice.publickey`
echo 'alice sk: '`xxd -p -c 32 < alice.secretkey`

# alice - generate message
dd if=/dev/urandom of=alice.message bs=1 count=16 status=none
echo 'alice m:  '`xxd -p -c 32 < alice.message`

# alice - signs message
ed25519-sign 8<alice.secretkey <alice.message >alice.signedmessage
echo 'alice sm: '`xxd -p -c 64 < alice.signedmessage`

# bob - verifies message
ed25519-open 4<alice.publickey <alice.signedmessage >bob.message
echo 'bob m:    '`xxd -p -c 32 < bob.message`

if [ x"`xxd -p -c 32 < alice.message`" != x"`xxd -p -c 32 < bob.message`" ]; then
  echo 'BAD'
  exit 1
fi
echo 'OK'
exit 0
