Python: Make ed25519_verify take some arguments
It's not much use if everything is hardcoded.
This commit is contained in:
parent
853ea8fbc7
commit
f8c61b8f84
2 changed files with 34 additions and 11 deletions
|
@ -65,11 +65,25 @@ def build_arg_parser():
|
||||||
account.unpickle(args.key, read_base64_file(args.account_file))
|
account.unpickle(args.key, read_base64_file(args.account_file))
|
||||||
print(account.identity_keys()['curve25519'])
|
print(account.identity_keys()['curve25519'])
|
||||||
|
|
||||||
id_key = commands.add_parser("identity_key",
|
id_key = commands.add_parser(
|
||||||
help="Get the identity key for an account")
|
"identity_key",
|
||||||
|
help="Get the public part of the identity key for an account",
|
||||||
|
)
|
||||||
id_key.add_argument("account_file", help="Local account file")
|
id_key.add_argument("account_file", help="Local account file")
|
||||||
id_key.set_defaults(func=do_id_key)
|
id_key.set_defaults(func=do_id_key)
|
||||||
|
|
||||||
|
def do_signing_key(args):
|
||||||
|
account = Account()
|
||||||
|
account.unpickle(args.key, read_base64_file(args.account_file))
|
||||||
|
print(account.identity_keys()['ed25519'])
|
||||||
|
|
||||||
|
signing_key = commands.add_parser(
|
||||||
|
"signing_key",
|
||||||
|
help="Get the public part of the signing key for an account",
|
||||||
|
)
|
||||||
|
signing_key.add_argument("account_file", help="Local account file")
|
||||||
|
signing_key.set_defaults(func=do_signing_key)
|
||||||
|
|
||||||
def do_one_time_key(args):
|
def do_one_time_key(args):
|
||||||
account = Account()
|
account = Account()
|
||||||
account.unpickle(args.key, read_base64_file(args.account_file))
|
account.unpickle(args.key, read_base64_file(args.account_file))
|
||||||
|
@ -346,6 +360,16 @@ def build_arg_parser():
|
||||||
|
|
||||||
ed25519_verify = commands.add_parser("ed25519_verify",
|
ed25519_verify = commands.add_parser("ed25519_verify",
|
||||||
help="Verify an ed25519 signature")
|
help="Verify an ed25519 signature")
|
||||||
|
ed25519_verify.add_argument(
|
||||||
|
"signing_key",
|
||||||
|
help="Public signing key used to create the signature"
|
||||||
|
)
|
||||||
|
ed25519_verify.add_argument("signature",
|
||||||
|
help="Signature to be verified")
|
||||||
|
ed25519_verify.add_argument("message_file",
|
||||||
|
help="Message file (default stdin)",
|
||||||
|
type=argparse.FileType('r'), nargs='?',
|
||||||
|
default=sys.stdin)
|
||||||
ed25519_verify.set_defaults(func=do_verify_ed25519_signature)
|
ed25519_verify.set_defaults(func=do_verify_ed25519_signature)
|
||||||
return parser
|
return parser
|
||||||
|
|
||||||
|
@ -434,12 +458,8 @@ def do_export_inbound_group(args):
|
||||||
|
|
||||||
|
|
||||||
def do_verify_ed25519_signature(args):
|
def do_verify_ed25519_signature(args):
|
||||||
account = Account()
|
message = args.message_file.read()
|
||||||
account.create()
|
ed25519_verify(args.signing_key, message, args.signature)
|
||||||
message = "A Message".encode("ASCII")
|
|
||||||
ed25519_key = account.identity_keys()["ed25519"].encode("utf-8")
|
|
||||||
signature = account.sign(message)
|
|
||||||
ed25519_verify(ed25519_key, message, signature)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
cd `dirname $0`
|
cd `dirname $0`
|
||||||
|
|
||||||
OLM="python -m olm"
|
OLM="python -m olm"
|
||||||
|
@ -38,6 +40,7 @@ $OLM group_decrypt $BOB_GROUP_SESSION group_message
|
||||||
$OLM export_inbound_group $BOB_GROUP_SESSION | $OLM import_inbound_group $CHARLIE_GROUP_SESSION
|
$OLM export_inbound_group $BOB_GROUP_SESSION | $OLM import_inbound_group $CHARLIE_GROUP_SESSION
|
||||||
$OLM group_decrypt $CHARLIE_GROUP_SESSION group_message
|
$OLM group_decrypt $CHARLIE_GROUP_SESSION group_message
|
||||||
|
|
||||||
### Utility
|
### Sign/verify
|
||||||
|
ALICE_SIGNING_KEY="$($OLM signing_key $ALICE_ACCOUNT)"
|
||||||
$OLM ed25519_verify
|
sig="$(echo "Test message" | $OLM sign $ALICE_ACCOUNT - -)"
|
||||||
|
echo "Test message" | $OLM ed25519_verify $ALICE_SIGNING_KEY $sig -
|
||||||
|
|
Loading…
Reference in a new issue