|
|
|
@ -716,36 +716,36 @@ def decrypt_keyvalue(connect, address, key, value):
|
|
|
|
|
return client.decrypt_keyvalue(address_n, key, binascii.unhexlify(value))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@cli.command(help='Encrypt message.')
|
|
|
|
|
@click.option('-c', '--coin', default='Bitcoin')
|
|
|
|
|
@click.option('-d', '--display-only', is_flag=True)
|
|
|
|
|
@click.option('-n', '--address', required=True, help="BIP-32 path, e.g. m/44'/0'/0'/0/0")
|
|
|
|
|
@click.argument('pubkey')
|
|
|
|
|
@click.argument('message')
|
|
|
|
|
@click.pass_obj
|
|
|
|
|
def encrypt_message(connect, coin, display_only, address, pubkey, message):
|
|
|
|
|
client = connect()
|
|
|
|
|
pubkey = binascii.unhexlify(pubkey)
|
|
|
|
|
address_n = tools.parse_path(address)
|
|
|
|
|
res = client.encrypt_message(pubkey, message, display_only, coin, address_n)
|
|
|
|
|
return {
|
|
|
|
|
'nonce': binascii.hexlify(res.nonce),
|
|
|
|
|
'message': binascii.hexlify(res.message),
|
|
|
|
|
'hmac': binascii.hexlify(res.hmac),
|
|
|
|
|
'payload': base64.b64encode(res.nonce + res.message + res.hmac),
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@cli.command(help='Decrypt message.')
|
|
|
|
|
@click.option('-n', '--address', required=True, help="BIP-32 path, e.g. m/44'/0'/0'/0/0")
|
|
|
|
|
@click.argument('payload')
|
|
|
|
|
@click.pass_obj
|
|
|
|
|
def decrypt_message(connect, address, payload):
|
|
|
|
|
client = connect()
|
|
|
|
|
address_n = tools.parse_path(address)
|
|
|
|
|
payload = base64.b64decode(payload)
|
|
|
|
|
nonce, message, msg_hmac = payload[:33], payload[33:-8], payload[-8:]
|
|
|
|
|
return client.decrypt_message(address_n, nonce, message, msg_hmac)
|
|
|
|
|
# @cli.command(help='Encrypt message.')
|
|
|
|
|
# @click.option('-c', '--coin', default='Bitcoin')
|
|
|
|
|
# @click.option('-d', '--display-only', is_flag=True)
|
|
|
|
|
# @click.option('-n', '--address', required=True, help="BIP-32 path, e.g. m/44'/0'/0'/0/0")
|
|
|
|
|
# @click.argument('pubkey')
|
|
|
|
|
# @click.argument('message')
|
|
|
|
|
# @click.pass_obj
|
|
|
|
|
# def encrypt_message(connect, coin, display_only, address, pubkey, message):
|
|
|
|
|
# client = connect()
|
|
|
|
|
# pubkey = binascii.unhexlify(pubkey)
|
|
|
|
|
# address_n = tools.parse_path(address)
|
|
|
|
|
# res = client.encrypt_message(pubkey, message, display_only, coin, address_n)
|
|
|
|
|
# return {
|
|
|
|
|
# 'nonce': binascii.hexlify(res.nonce),
|
|
|
|
|
# 'message': binascii.hexlify(res.message),
|
|
|
|
|
# 'hmac': binascii.hexlify(res.hmac),
|
|
|
|
|
# 'payload': base64.b64encode(res.nonce + res.message + res.hmac),
|
|
|
|
|
# }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# @cli.command(help='Decrypt message.')
|
|
|
|
|
# @click.option('-n', '--address', required=True, help="BIP-32 path, e.g. m/44'/0'/0'/0/0")
|
|
|
|
|
# @click.argument('payload')
|
|
|
|
|
# @click.pass_obj
|
|
|
|
|
# def decrypt_message(connect, address, payload):
|
|
|
|
|
# client = connect()
|
|
|
|
|
# address_n = tools.parse_path(address)
|
|
|
|
|
# payload = base64.b64decode(payload)
|
|
|
|
|
# nonce, message, msg_hmac = payload[:33], payload[33:-8], payload[-8:]
|
|
|
|
|
# return client.decrypt_message(address_n, nonce, message, msg_hmac)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#
|
|
|
|
|