#!/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
x25519-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`

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

# alice - sharedsecret
x25519-dh 8<alice.secretkey 4<bob.publickey 7>alice.sharedsecret
echo 'alice s:  '`xxd -p -c 32 < alice.sharedsecret`

# bob - sharedsecret
x25519-dh 8<bob.secretkey 4<alice.publickey 7>bob.sharedsecret
echo 'bob s:    '`xxd -p -c 32 < bob.sharedsecret`

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