mirror of
git://git.gnupg.org/gnupg.git
synced 2025-04-17 15:44:34 +02:00
g10: Fix exporting secret keys of certain sizes.
* g10/build-packet.c (do_key): Do not use the header length specified by the public key packet from the keyring, but let 'write_header2' compute the required length. -- Specifically exporting RSA keys of length 1024 failed, as the encoded public key packet requires 141 bytes a length that fits into one byte, but the secret key is significantly larger, making the export fail. GnuPG-bug-id: 2307 Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
parent
71040f48ef
commit
02cf1357dd
@ -486,7 +486,7 @@ do_key (iobuf_t out, int ctb, PKT_public_key *pk)
|
||||
/* Build the header of the packet - which we must do after
|
||||
writing all the other stuff, so that we know the length of
|
||||
the packet */
|
||||
write_header2 (out, ctb, iobuf_get_temp_length(a), pk->hdrbytes);
|
||||
write_header2 (out, ctb, iobuf_get_temp_length(a), 0);
|
||||
/* And finally write it out to the real stream. */
|
||||
err = iobuf_write_temp (out, a);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user