2015-07-14 12:38:43 +02:00
|
|
|
#! /bin/bash
|
|
|
|
|
2017-04-24 14:11:41 +02:00
|
|
|
set -e
|
|
|
|
|
2016-05-24 15:45:32 +02:00
|
|
|
cd `dirname $0`
|
|
|
|
|
2016-05-10 10:14:29 +02:00
|
|
|
OLM="python -m olm"
|
2015-07-14 12:38:43 +02:00
|
|
|
|
|
|
|
ALICE_ACCOUNT=alice.account
|
|
|
|
ALICE_SESSION=alice.session
|
2016-05-17 19:55:39 +02:00
|
|
|
ALICE_GROUP_SESSION=alice.group_session
|
2015-07-14 12:38:43 +02:00
|
|
|
BOB_ACCOUNT=bob.account
|
|
|
|
BOB_SESSION=bob.session
|
2016-05-19 13:01:15 +02:00
|
|
|
BOB_GROUP_SESSION=bob.group_session
|
2017-01-06 18:40:39 +01:00
|
|
|
CHARLIE_GROUP_SESSION=charlie.group_session
|
2015-07-14 12:38:43 +02:00
|
|
|
|
2017-01-06 18:40:39 +01:00
|
|
|
rm -f $ALICE_ACCOUNT $BOB_ACCOUNT
|
|
|
|
rm -f $ALICE_SESSION $BOB_SESSION
|
|
|
|
rm -f $ALICE_GROUP_SESSION $BOB_GROUP_SESSION $CHARLIE_GROUP_SESSION
|
2015-07-14 12:38:43 +02:00
|
|
|
|
|
|
|
$OLM create_account $ALICE_ACCOUNT
|
|
|
|
$OLM create_account $BOB_ACCOUNT
|
|
|
|
$OLM generate_keys $BOB_ACCOUNT 1
|
|
|
|
|
2016-05-24 17:50:26 +02:00
|
|
|
BOB_IDENTITY_KEY="$($OLM identity_key $BOB_ACCOUNT)"
|
|
|
|
BOB_ONE_TIME_KEY="$($OLM one_time_key $BOB_ACCOUNT)"
|
2015-07-14 12:38:43 +02:00
|
|
|
|
|
|
|
$OLM outbound $ALICE_ACCOUNT $ALICE_SESSION "$BOB_IDENTITY_KEY" "$BOB_ONE_TIME_KEY"
|
|
|
|
|
|
|
|
echo "Hello world" | $OLM encrypt $ALICE_SESSION - - | $OLM inbound $BOB_ACCOUNT $BOB_SESSION - -
|
2016-05-17 19:55:39 +02:00
|
|
|
|
|
|
|
|
|
|
|
### group sessions
|
|
|
|
|
|
|
|
$OLM outbound_group $ALICE_GROUP_SESSION
|
2016-05-19 13:01:15 +02:00
|
|
|
$OLM group_credentials $ALICE_GROUP_SESSION | $OLM inbound_group $BOB_GROUP_SESSION
|
2017-01-06 18:40:39 +01:00
|
|
|
echo "Hello group" | $OLM group_encrypt $ALICE_GROUP_SESSION - group_message
|
|
|
|
$OLM group_decrypt $BOB_GROUP_SESSION group_message
|
|
|
|
|
|
|
|
$OLM export_inbound_group $BOB_GROUP_SESSION | $OLM import_inbound_group $CHARLIE_GROUP_SESSION
|
|
|
|
$OLM group_decrypt $CHARLIE_GROUP_SESSION group_message
|
2017-04-22 15:11:43 +02:00
|
|
|
|
2017-04-24 14:11:41 +02:00
|
|
|
### Sign/verify
|
|
|
|
ALICE_SIGNING_KEY="$($OLM signing_key $ALICE_ACCOUNT)"
|
|
|
|
sig="$(echo "Test message" | $OLM sign $ALICE_ACCOUNT - -)"
|
|
|
|
echo "Test message" | $OLM ed25519_verify $ALICE_SIGNING_KEY $sig -
|