On Mon, 23 Oct 2017, David Shaw wrote:

> Hi Peter,
> 
> I've added support for EdDSA to paperkey (it's a one-line fix - EdDSA and 
> ECDSA have the same representation), so that's simple enough.
> 
> The segfault is more troubling though - not supporting an algorithm
> (yet) is one thing, but paperkey should never segfault.
> Unfortunately, I can't reproduce the segfault with various ed25519
> keys, both as themselves and in combinations like RSA primary and
> ed25519 subkey.  Can you send me a test key that reproduces the issue
> for you?

Sure, attached.

| weasel@orinoco:~/gpghome2$ gpg --import ~/fuse/sarek/test2.asc
| gpg: WARNING: unsafe permissions on homedir '/home/weasel/gpghome2'
| gpg: /home/weasel/gpghome2/trustdb.gpg: trustdb created
| gpg: key 42FA0478A3CC80F1: public key "test2" imported
| gpg: Total number processed: 1
| gpg:               imported: 1
| weasel@orinoco:~/gpghome2$ gpg --import ~/fuse/sarek/test2-secret.asc
| gpg: WARNING: unsafe permissions on homedir '/home/weasel/gpghome2'
| gpg: key 42FA0478A3CC80F1: "test2" not changed
| gpg: key 42FA0478A3CC80F1: secret key imported
| gpg: Total number processed: 1
| gpg:              unchanged: 1
| gpg:       secret keys read: 1
| gpg:   secret keys imported: 1
| weasel@orinoco:~/gpghome2$ gpg --list-key
| gpg: WARNING: unsafe permissions on homedir '/home/weasel/gpghome2'
| /home/weasel/gpghome2/pubring.kbx
| ---------------------------------
| pub   rsa2048 2017-10-22 [SC] [expires: 2019-10-22]
|       ABBC80F0A6340158E0E4559B42FA0478A3CC80F1
| uid           [ unknown] test2
| sub   ed25519 2017-10-22 [S] [expires: 2017-10-29]
| 
| weasel@orinoco:~/gpghome2$ gpg --list-secret-keys
| gpg: WARNING: unsafe permissions on homedir '/home/weasel/gpghome2'
| /home/weasel/gpghome2/pubring.kbx
| ---------------------------------
| sec   rsa2048 2017-10-22 [SC] [expires: 2019-10-22]
|       ABBC80F0A6340158E0E4559B42FA0478A3CC80F1
| uid           [ unknown] test2
| ssb   ed25519 2017-10-22 [S] [expires: 2017-10-29]
| 
| weasel@orinoco:~/gpghome2$ gpg --export-secret-keys test2 | paperkey
| gpg: WARNING: unsafe permissions on homedir '/home/weasel/gpghome2'
| # Secret portions of key ABBC80F0A6340158E0E4559B42FA0478A3CC80F1
| # Base16 data extracted Mon Oct 23 18:26:07 2017
| # Created with paperkey 1.3 by David Shaw
| #
| # File format:
| # a) 1 octet:  Version of the paperkey format (currently 0).
| # b) 1 octet:  OpenPGP key or subkey version (currently 4)
| # c) n octets: Key fingerprint (20 octets for a version 4 key or subkey)
| # d) 2 octets: 16-bit big endian length of the following secret data
| # e) n octets: Secret data: a partial OpenPGP secret key or subkey packet as
| #              specified in RFC 4880, starting with the string-to-key usage
| #              octet and continuing until the end of the packet.
| # Repeat fields b through e as needed to cover all subkeys.
| # 
| # To recover a secret key without using the paperkey program, use the
| # key fingerprint to match an existing public key packet with the
| # corresponding secret data from the paper key.  Next, append this secret
| # data to the public key packet.  Finally, switch the public key packet tag
| # from 6 to 5 (14 to 7 for subkeys).  This will recreate the original secret
| # key or secret subkey packet.  Repeat as needed for all public key or subkey
| # packets in the public key.  All other packets (user IDs, signatures, etc.)
| # may simply be copied from the public key.
| #
| # Each base16 line ends with a CRC-24 of that line.
| # The entire block of data ends with a CRC-24 of the entire block of data.
| 
|   1: 00 04 AB BC 80 F0 A6 34 01 58 E0 E4 55 9B 42 FA 04 78 A3 CC 80 F1 8166A9
|   2: 02 8B 00 07 FC 0A 7F BF 22 0C 10 40 69 73 B6 03 55 D2 13 D0 87 9A 8522D9
|   3: DA 7F A0 8B 60 0B 03 77 ED 4B 55 CC B4 1E 78 5E A1 CF DB BF C9 CF 935E07
|   4: 87 9F 0B 05 07 5F EF 6F 08 75 E5 2A 86 7F 52 2A E2 2A 57 80 DD 76 026AF3
|   5: D6 82 7D 1E 90 67 17 FF DB 66 00 1B 68 AF 2F CF F2 D2 2A B4 C8 7C 54E93F
|   6: D6 68 D8 23 59 53 F0 E7 E0 FF 7D B0 E6 08 48 2D DC D9 8E A6 4C 5C 75F7B8
|   7: 8C F2 75 BB EF 62 15 34 A5 C5 51 44 33 F2 1D E5 03 38 41 9C E4 2A 0DE30F
|   8: D4 C4 2D AA 6F 1A A3 7B 46 7C 9F 1D D6 D8 7F 94 DD DC AD 82 33 34 6C95CF
|   9: 9E 4F A3 34 11 4D D4 88 01 EE 87 7F F3 79 F9 09 C0 C9 4F 2A D9 F1 A99829
|  10: D2 8D 19 5F BF CF D8 5D E4 E4 B5 6F FE 37 3F 10 70 39 27 92 72 57 093A0C
|  11: CB 52 F4 A3 71 83 73 8C B6 A0 31 EA 24 F6 85 9B 97 05 3B AB A6 65 756771
|  12: 12 3D 1D 14 DF 7D C1 4A D1 A2 C1 87 23 4B 16 71 3F 01 71 A6 99 1F CF90C3
|  13: 89 9A B9 3D E5 16 74 D7 DA F8 38 01 63 40 D5 2C 0E 2F 81 04 00 D1 8DD22C
|  14: 94 CD BE CF 9A FD 7E 79 66 2C 0C E1 90 3E DB DD 18 82 95 79 8D B8 A54036
|  15: FC 23 B9 F4 83 C9 CE 9A 57 18 58 E9 42 71 39 C2 8C 7E B1 0A E1 4A 6B80DA
|  16: A9 CC C1 F7 9B AA 9E 33 EC B1 8A E8 14 77 BA 54 76 EA EC 55 99 7A 36AE0D
|  17: 23 1A 91 47 AF 02 BF B0 CB AB 0E C1 DE AF 68 EC FC DA C0 CB 49 19 253DEB
|  18: B9 A9 D1 C1 71 28 E0 2D 03 76 22 52 39 D5 F6 5E 2A A4 BB 0C D7 F4 8D6C87
|  19: 64 46 5F 85 1B 63 B5 51 E5 9B AB 15 AA FF C8 39 F1 04 00 F2 AF A2 0034BA
|  20: 63 1D 8A 35 BB D0 87 60 6F 7F BB 68 89 93 B6 67 91 92 4C 33 B5 40 1705EB
|  21: 6D 81 41 55 67 A8 46 82 C9 25 CC C5 15 F8 10 1B 99 AD 27 60 3D 62 C5B971
|  22: 9A D1 B4 EE 3B B2 51 C0 FB C8 B4 BB 15 49 2F 85 87 1C 84 6C 0B E3 C8DC76
|  23: 11 7C F1 21 9A 03 62 26 F5 D4 57 35 0A 4F 7A 52 DA B5 DC 59 12 8C 63A134
|  24: 1B 7E 16 F8 B1 63 A6 50 9D 87 9D 35 86 04 53 71 F2 26 9F FF 98 75 EBAF63
|  25: BE DB DE F2 48 E6 AF 61 FF 41 E9 28 DF 19 FB 03 FF 71 9C CF 2B 50 7D5626
|  26: 6A 64 91 E0 AF 5D 36 85 0D 37 0E C7 CD BD B9 3C E8 42 EE 14 55 25 200913
|  27: 22 77 E6 50 0F 35 B6 A9 2C 2A 14 89 72 C5 67 F6 B7 F5 8F 1A D4 2B A45239
|  28: 6F 09 6F 20 AC 28 B2 86 DE 93 E1 59 67 67 7B 11 72 B7 0D 1C 18 AB 2B21C8
|  29: 51 95 A7 DF B9 6A 4E DC 99 55 70 DE 42 5E C7 D7 2E 7C 26 25 0B F5 752047
|  30: 2B B7 F6 1D 12 F8 4C 03 23 FD E3 07 A0 CF 03 5F 46 79 31 82 49 E4 47F1BC
| Unable to parse algorithm 22
| zsh: done                gpg --export-secret-keys test2 | 
| zsh: segmentation fault  paperkey
| e139:weasel@orinoco:~/gpghome2$

-- 
                            |  .''`.       ** Debian **
      Peter Palfrader       | : :' :      The  universal
 https://www.palfrader.org/ | `. `'      Operating System
                            |   `-    https://www.debian.org/
-----BEGIN PGP PUBLIC KEY BLOCK-----

mQENBFnspBIBCADGrnQoVJ3AQkz0om84mIb29znXTYNELtvZQ1xNtShFDEN1RgOj
7BRy2uFfcfeiBANweo+d2jO6xrqFLMdEPbfEd/s22U58+TjQzwzAPx2MB1+fX4qe
9/jGhsI/pyGNL8LwycDcD8CYcFUiZzaVC9uswscUNmY3s0JYboA1mlvCODeGoIDr
REUODCGIqzYRruUcfiuM9/mzFo0dIhwg7nqqB87/IXcF25sx/7mbqMTFenFVZbuE
uTThd6MITHOW22Rp17sC7zAy7wqrM4nzK17A5mORHFnvS2EZzouoQNTfflgROiAc
jjbDIgYLpVEAbcgH/Co+Ckj5d5nJ93R36FhLABEBAAG0BXRlc3QyiQFUBBMBCAA+
FiEEq7yA8KY0AVjg5FWbQvoEeKPMgPEFAlnspBICGwMFCQPCZwAFCwkIBwIGFQgJ
CgsCBBYCAwECHgECF4AACgkQQvoEeKPMgPGjngf/etk3CX4dESb1tSdLQogD8j6A
FTFgmauMWj2du36P6GxellzyjUefLbsFAIESoGmaLDYpZCJ7LWObBs+3Henk81fo
O+ya5/pydAcfktaptAoesteDkYtt96RA9ZWsLAg+vQTxiMCI5aZuMFwtnEfuQKj7
NkzcLUcdUB6jeGGYImJdnDw+Y2Gl6leBR0JlxHBiWRUBxrjncY4rgEDpXVjxOiZq
vAVcey8OAU/qTHR34SpFsha25r9Q2rukCERJ6xyY765fhTZ47jbF9MRcMm4jb2hz
naWX66VgonW1SZidUFwU+BdZTi4LW4ssaqIO8ouJ+RfglDscbv4X/n9rrmA8g7gz
BFnspJ4WCSsGAQQB2kcPAQEHQPB3MnaYRI3iI3GfX06pFZfT3+hnXEjDxU9Negg4
GZvliQGzBBgBCAAmFiEEq7yA8KY0AVjg5FWbQvoEeKPMgPEFAlnspJ4CGwIFCQAJ
OoAAgQkQQvoEeKPMgPF2IAQZFggAHRYhBLb6TjxYZpLCB42UUR0u5EGJhQn4BQJZ
7KSeAAoJEB0u5EGJhQn4/rQBAJZKU6WDCyQ94uueQ5IvXvEw9VUPhHegecBqguc9
AJJEAQC16Ojmc0/6vO0O6FkOgMiS4IlmGUIWRU+8kV/OKWOKBsCrB/9hTn69T8hU
5Hr/CKMMpitiMSaOcnpv8VKeFStXOHiKJC+yaYxLHgS4QKUEz5f0qX+xVZiQKj+Y
G9eRHyj+HYlfNl20PlRUNzCq1i8nweD7VRPyryrM83flHYWb374rlzq1EieYnGcK
QjudvHapFbO4Or8hFlt4flJaKWzSx2G7ehHHbR7YwU7mUFk3vjiu0CVZf5OZ13h8
JLN/ewWGPIa0n20SdIf69wE5pB8Pq32i2+MAfXGuIBNU/WEKHK73Q+JrbCRhe7Yr
DoENs4qHvpVRK4sxmyulOms9U2Z6owz9ad61Q/KVMoghgkKuNBmjGzmBJ8qIBZHR
x+FSold7ou9y
=Ahto
-----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PRIVATE KEY BLOCK-----

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
IYJCrjQZoxs5gSfKiAWR0cfhUqJXe6Lvcg==
=3ugG
-----END PGP PRIVATE KEY BLOCK-----

Reply via email to