f8c61b8f84
It's not much use if everything is hardcoded.
46 lines
1.4 KiB
Bash
Executable file
46 lines
1.4 KiB
Bash
Executable file
#! /bin/bash
|
|
|
|
set -e
|
|
|
|
cd `dirname $0`
|
|
|
|
OLM="python -m olm"
|
|
|
|
ALICE_ACCOUNT=alice.account
|
|
ALICE_SESSION=alice.session
|
|
ALICE_GROUP_SESSION=alice.group_session
|
|
BOB_ACCOUNT=bob.account
|
|
BOB_SESSION=bob.session
|
|
BOB_GROUP_SESSION=bob.group_session
|
|
CHARLIE_GROUP_SESSION=charlie.group_session
|
|
|
|
rm -f $ALICE_ACCOUNT $BOB_ACCOUNT
|
|
rm -f $ALICE_SESSION $BOB_SESSION
|
|
rm -f $ALICE_GROUP_SESSION $BOB_GROUP_SESSION $CHARLIE_GROUP_SESSION
|
|
|
|
$OLM create_account $ALICE_ACCOUNT
|
|
$OLM create_account $BOB_ACCOUNT
|
|
$OLM generate_keys $BOB_ACCOUNT 1
|
|
|
|
BOB_IDENTITY_KEY="$($OLM identity_key $BOB_ACCOUNT)"
|
|
BOB_ONE_TIME_KEY="$($OLM one_time_key $BOB_ACCOUNT)"
|
|
|
|
$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 - -
|
|
|
|
|
|
### group sessions
|
|
|
|
$OLM outbound_group $ALICE_GROUP_SESSION
|
|
$OLM group_credentials $ALICE_GROUP_SESSION | $OLM inbound_group $BOB_GROUP_SESSION
|
|
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
|
|
|
|
### 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 -
|