From 74e8f21a22d9f3f4095c79594ca472a283044f41 Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Sun, 1 Jan 2017 18:14:52 +0200 Subject: [PATCH] gpg: export secret subkey --- trezor_agent/gpg/encode.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/trezor_agent/gpg/encode.py b/trezor_agent/gpg/encode.py index 44ad052..3fad70d 100644 --- a/trezor_agent/gpg/encode.py +++ b/trezor_agent/gpg/encode.py @@ -48,9 +48,10 @@ def create_primary(user_id, pubkey, signer_func, secret_bytes=b''): return pubkey_packet + user_id_packet + sign_packet -def create_subkey(primary_bytes, subkey, signer_func, user_id=None): +def create_subkey(primary_bytes, subkey, signer_func, secret_bytes=b''): """Export new subkey to GPG primary key.""" - subkey_packet = protocol.packet(tag=14, blob=subkey.data()) + subkey_packet = protocol.packet(tag=(7 if secret_bytes else 14), + blob=(subkey.data() + secret_bytes)) packets = list(decode.parse_packets(io.BytesIO(primary_bytes))) primary, user_id, signature = packets[:3]