* bug#43421: Encoding issue in exported archive signatures
@ 2020-09-15 12:18 Ludovic Courtès
2020-09-15 15:42 ` Ludovic Courtès
0 siblings, 1 reply; 2+ messages in thread
From: Ludovic Courtès @ 2020-09-15 12:18 UTC (permalink / raw)
To: 43421
Following the ‘guix authenticate’ in commit
64cf660f872fb7aaf0d2b463e45b4c756297f743¹, I’m observing encoding
issues:
guix archive --export \
/gnu/store/3p5wcw2a0844rbcmlrqfjx8bx7b7gq34-r-rvest-0.3.6-guile-builder
yield an archive with this signature:
--8<---------------cut here---------------start------------->8---
(signature
(data
(flags rfc6979)
(hash sha256 #1DEE0418AF5FD8A05D2142290BA03735176FA27BB68B3A02977C774EA3DBDAEC#)
)
(sig-val
(ecdsa
(r #072B8E5C6B84D4ED469EC2CF63103621602E9AF3902E454CAD49CFA6BDE2FBF0#)
(s "~%*Øw2%YZ»+yvc*¤Ì44C;RM\t3EQIp<ü")
)
)
(public-key
(ecc
(curve Ed25519)
(q #8D156F295D24B0D9A86FA5741A840FF2D24F60F7B6C4134814AD55625971B394#)
)
)
)
--8<---------------cut here---------------end--------------->8---
Notice the ‘s’ field of the signature.
The problem does not occur systematically: it depends on the byte string
(libgcrypt encodes Latin-1ish strings as strings and other strings as
hex sequences.) The problem is similar to <https://issues.guix.gnu.org/17312>.
The interesting bit is that this archive can be correctly ingested by a
new daemon, but it fails signature verification with an older daemon.
Ludo’.
¹ https://issues.guix.gnu.org/43340
^ permalink raw reply [flat|nested] 2+ messages in thread
* bug#43421: Encoding issue in exported archive signatures
2020-09-15 12:18 bug#43421: Encoding issue in exported archive signatures Ludovic Courtès
@ 2020-09-15 15:42 ` Ludovic Courtès
0 siblings, 0 replies; 2+ messages in thread
From: Ludovic Courtès @ 2020-09-15 15:42 UTC (permalink / raw)
To: 43421-done
Hi,
Ludovic Courtès <ludovic.courtes@inria.fr> skribis:
> Following the ‘guix authenticate’ in commit
> 64cf660f872fb7aaf0d2b463e45b4c756297f743¹, I’m observing encoding
> issues:
>
> guix archive --export \
> /gnu/store/3p5wcw2a0844rbcmlrqfjx8bx7b7gq34-r-rvest-0.3.6-guile-builder
>
> yield an archive with this signature:
>
> (signature
> (data
> (flags rfc6979)
> (hash sha256 #1DEE0418AF5FD8A05D2142290BA03735176FA27BB68B3A02977C774EA3DBDAEC#)
> )
> (sig-val
> (ecdsa
> (r #072B8E5C6B84D4ED469EC2CF63103621602E9AF3902E454CAD49CFA6BDE2FBF0#)
> (s "~%*Øw2%YZ»+yvc*¤Ì44C;RM\t3EQIp<ü")
> )
> )
> (public-key
> (ecc
> (curve Ed25519)
> (q #8D156F295D24B0D9A86FA5741A840FF2D24F60F7B6C4134814AD55625971B394#)
> )
> )
> )
>
> Notice the ‘s’ field of the signature.
>
> The problem does not occur systematically: it depends on the byte string
> (libgcrypt encodes Latin-1ish strings as strings and other strings as
> hex sequences.) The problem is similar to <https://issues.guix.gnu.org/17312>.
Fixed in b911d6547444b5f8d17b224bafa5ee1b5aafaff5!
> The interesting bit is that this archive can be correctly ingested by a
> new daemon, but it fails signature verification with an older daemon.
This is because when using the new daemon on both sides, we were
encoding/decoding strings as UTF-8, which made no sense but worked
well. Older implementations rightfully expect “raw strings”
aka. ISO-8859-1.
Ludo’.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-09-15 15:43 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-15 12:18 bug#43421: Encoding issue in exported archive signatures Ludovic Courtès
2020-09-15 15:42 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).