Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
matrix-org
Olm
Commits
f8c61b8f
Commit
f8c61b8f
authored
Apr 24, 2017
by
Richard van der Hoff
Browse files
Python: Make ed25519_verify take some arguments
It's not much use if everything is hardcoded.
parent
853ea8fb
Changes
2
Hide whitespace changes
Inline
Side-by-side
python/olm/__main__.py
View file @
f8c61b8f
...
...
@@ -65,11 +65,25 @@ def build_arg_parser():
account
.
unpickle
(
args
.
key
,
read_base64_file
(
args
.
account_file
))
print
(
account
.
identity_keys
()[
'curve25519'
])
id_key
=
commands
.
add_parser
(
"identity_key"
,
help
=
"Get the identity key for an account"
)
id_key
=
commands
.
add_parser
(
"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
.
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
):
account
=
Account
()
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"
,
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
)
return
parser
...
...
@@ -434,12 +458,8 @@ def do_export_inbound_group(args):
def
do_verify_ed25519_signature
(
args
):
account
=
Account
()
account
.
create
()
message
=
"A Message"
.
encode
(
"ASCII"
)
ed25519_key
=
account
.
identity_keys
()[
"ed25519"
].
encode
(
"utf-8"
)
signature
=
account
.
sign
(
message
)
ed25519_verify
(
ed25519_key
,
message
,
signature
)
message
=
args
.
message_file
.
read
()
ed25519_verify
(
args
.
signing_key
,
message
,
args
.
signature
)
if
__name__
==
'__main__'
:
...
...
python/test_olm.sh
View file @
f8c61b8f
#! /bin/bash
set
-e
cd
`
dirname
$0
`
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
group_decrypt
$CHARLIE_GROUP_SESSION
group_message
### Utility
$OLM
ed25519_verify
### 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
-
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment