<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/tests/openpgp.scm, branch master</title>
<subtitle>Transactional package manager, declarative GNU/Linux distribution, reproducible deployment tool, and more! https://guix.gnu.org</subtitle>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/'/>
<entry>
<title>tests: openpgp: Migrate to (srfi srfi-71).</title>
<updated>2026-04-10T06:03:18+00:00</updated>
<author>
<name>Nicolas Graves</name>
<email>ngraves@ngraves.fr</email>
</author>
<published>2026-03-01T16:48:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=b361ab8ceb053cf1d413524b54de76a1d05a7920'/>
<id>b361ab8ceb053cf1d413524b54de76a1d05a7920</id>
<content type='text'>
* tests/openpgp.scm ("read-radix-64", "get-openpgp-keyring")
  ("verify-openpgp-signature, missing key")
  ("verify-openpgp-signature, good signatures")
  ("verify-openpgp-signature, bad signature"):
  Migrate tests to from (srfi srfi-11) to (srfi srfi-71).

Change-Id: I5c4939dd5217fc15f5c1071c4223ecb194a693b3
Merges: https://codeberg.org/guix/guix/pulls/6794
Reviewed-by: Danny Milosavljevic &lt;dannym@friendly-machines.com&gt;
Signed-off-by: Nguyễn Gia Phong &lt;cnx@loang.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* tests/openpgp.scm ("read-radix-64", "get-openpgp-keyring")
  ("verify-openpgp-signature, missing key")
  ("verify-openpgp-signature, good signatures")
  ("verify-openpgp-signature, bad signature"):
  Migrate tests to from (srfi srfi-11) to (srfi srfi-71).

Change-Id: I5c4939dd5217fc15f5c1071c4223ecb194a693b3
Merges: https://codeberg.org/guix/guix/pulls/6794
Reviewed-by: Danny Milosavljevic &lt;dannym@friendly-machines.com&gt;
Signed-off-by: Nguyễn Gia Phong &lt;cnx@loang.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: keys: Moving to openpgp subdirectory.</title>
<updated>2026-04-10T05:55:04+00:00</updated>
<author>
<name>Nicolas Graves</name>
<email>ngraves@ngraves.fr</email>
</author>
<published>2026-03-01T16:38:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=4c7a7a1d498f4ca418a649a0b3e3a056569aec15'/>
<id>4c7a7a1d498f4ca418a649a0b3e3a056569aec15</id>
<content type='text'>
* tests/keys/*.(pub|sec): Move to tests/keys/openpgp/*.(pub|sec)
* build-aux/test-env.in: Adapt accordingly.
* Makefile.am: Likewise.
* guix/tests/gnupg.scm: Likewise.
* tests/guix-authenticate.sh: Likewise.
* tests/openpgp.scm: Likewise.

Change-Id: If8897cec9851cc51a4ebadcc5927dc0e0520b881
Reviewed-by: Danny Milosavljevic &lt;dannym@friendly-machines.com&gt;
Signed-off-by: Nguyễn Gia Phong &lt;cnx@loang.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* tests/keys/*.(pub|sec): Move to tests/keys/openpgp/*.(pub|sec)
* build-aux/test-env.in: Adapt accordingly.
* Makefile.am: Likewise.
* guix/tests/gnupg.scm: Likewise.
* tests/guix-authenticate.sh: Likewise.
* tests/openpgp.scm: Likewise.

Change-Id: If8897cec9851cc51a4ebadcc5927dc0e0520b881
Reviewed-by: Danny Milosavljevic &lt;dannym@friendly-machines.com&gt;
Signed-off-by: Nguyễn Gia Phong &lt;cnx@loang.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Move keys into ./tests/keys/ and add a third ed25519 key.</title>
<updated>2021-12-22T09:53:19+00:00</updated>
<author>
<name>Attila Lendvai</name>
<email>attila@lendvai.name</email>
</author>
<published>2021-12-21T21:56:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=9ebc9ca070a21ba0aeb3f61202a8071bb250ccc8'/>
<id>9ebc9ca070a21ba0aeb3f61202a8071bb250ccc8</id>
<content type='text'>
The third key will be used in an upcoming commit.

Rename public keys to .pub.

* guix/tests/gnupg.scm (%ed25519-3-public-key-file): New variable.
(%ed25519-3-secret-key-file): New variable.
(%ed25519-2-public-key-file): Renamed from %ed25519bis-public-key-file.
(%ed25519-2-secret-key-file): Renamed from %ed25519bis-secret-key-file.
* tests/keys/ed25519-3.key: New file.
* tests/keys/ed25519-3.sec: New file.

Signed-off-by: Mathieu Othacehe &lt;othacehe@gnu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The third key will be used in an upcoming commit.

Rename public keys to .pub.

* guix/tests/gnupg.scm (%ed25519-3-public-key-file): New variable.
(%ed25519-3-secret-key-file): New variable.
(%ed25519-2-public-key-file): Renamed from %ed25519bis-public-key-file.
(%ed25519-2-secret-key-file): Renamed from %ed25519bis-secret-key-file.
* tests/keys/ed25519-3.key: New file.
* tests/keys/ed25519-3.sec: New file.

Signed-off-by: Mathieu Othacehe &lt;othacehe@gnu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>openpgp: Fix argument order of 'fxbit-set?'.</title>
<updated>2020-09-29T20:53:36+00:00</updated>
<author>
<name>Lars-Dominik Braun</name>
<email>ldb@leibniz-psychology.org</email>
</author>
<published>2020-09-29T08:29:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=680b80e37453d4e23ad8188d60894916e1c07162'/>
<id>680b80e37453d4e23ad8188d60894916e1c07162</id>
<content type='text'>
* guix/openpgp.scm (fxbit-set?): Change to swap arguments compared to
'bit-set?'.
* tests/openpgp.scm (%binary-sample): New test vector.
("port-ascii-armored?, #t"): Add test.
("port-ascii-armored?, #f"): Add another test.

Co-authored-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/openpgp.scm (fxbit-set?): Change to swap arguments compared to
'bit-set?'.
* tests/openpgp.scm (%binary-sample): New test vector.
("port-ascii-armored?, #t"): Add test.
("port-ascii-armored?, #f"): Add another test.

Co-authored-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>openpgp: Add 'string-&gt;openpgp-packet'.</title>
<updated>2020-05-04T07:56:13+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-04-30T13:56:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=b835e158d51c873a99367afd27f3d57cfe92e10e'/>
<id>b835e158d51c873a99367afd27f3d57cfe92e10e</id>
<content type='text'>
* guix/openpgp.scm (string-&gt;openpgp-packet): New procedure.
* tests/openpgp.scm ("verify-openpgp-signature, missing key")
("verify-openpgp-signature, good signatures")
("verify-openpgp-signature, bad signature"): Use it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/openpgp.scm (string-&gt;openpgp-packet): New procedure.
* tests/openpgp.scm ("verify-openpgp-signature, missing key")
("verify-openpgp-signature, good signatures")
("verify-openpgp-signature, bad signature"): Use it.
</pre>
</div>
</content>
</entry>
<entry>
<title>openpgp: 'lookup-key-by-{id,fingerprint}' return the key first.</title>
<updated>2020-05-04T07:56:13+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-04-30T13:43:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=bd8126558dc7a022d7853d803d7134ffa1b7bc52'/>
<id>bd8126558dc7a022d7853d803d7134ffa1b7bc52</id>
<content type='text'>
Previously, 'lookup-key-by-{id,fingerprint}' would always return the
list of packets where the primary key is first.  Thus, the caller would
need to use 'find' to actually find the requested key.

* guix/openpgp.scm (keyring-insert): Always add KEY to PACKETS.
(lookup-key-by-id, lookup-key-by-fingerprint): Change to return the key
as the first value.
(verify-openpgp-signature): Remove now unneeded call to 'find'.
* tests/openpgp.scm ("get-openpgp-keyring"): Adjust accordingly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, 'lookup-key-by-{id,fingerprint}' would always return the
list of packets where the primary key is first.  Thus, the caller would
need to use 'find' to actually find the requested key.

* guix/openpgp.scm (keyring-insert): Always add KEY to PACKETS.
(lookup-key-by-id, lookup-key-by-fingerprint): Change to return the key
as the first value.
(verify-openpgp-signature): Remove now unneeded call to 'find'.
* tests/openpgp.scm ("get-openpgp-keyring"): Adjust accordingly.
</pre>
</div>
</content>
</entry>
<entry>
<title>openpgp: 'verify-openpgp-signature' looks up by fingerprint when possible.</title>
<updated>2020-05-04T07:56:12+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-04-26T21:27:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=b45fa0a123bec8d023e5520dfb381bfc73313929'/>
<id>b45fa0a123bec8d023e5520dfb381bfc73313929</id>
<content type='text'>
* guix/openpgp.scm (verify-openpgp-signature): Use
'lookup-key-by-fingerprint' when SIG contains a fingerprint.
Honor FINGERPRINT in the 'find' predicate.  Upon missing-key, return
FINGERPRINT if available.
* tests/openpgp.scm ("verify-openpgp-signature, missing key"): Adjust
expected value accordingly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/openpgp.scm (verify-openpgp-signature): Use
'lookup-key-by-fingerprint' when SIG contains a fingerprint.
Honor FINGERPRINT in the 'find' predicate.  Upon missing-key, return
FINGERPRINT if available.
* tests/openpgp.scm ("verify-openpgp-signature, missing key"): Adjust
expected value accordingly.
</pre>
</div>
</content>
</entry>
<entry>
<title>openpgp: Add 'lookup-key-by-fingerprint'.</title>
<updated>2020-05-04T07:56:12+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-04-26T21:20:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=efe1f0122c61b8932671d07419f0200c170a994e'/>
<id>efe1f0122c61b8932671d07419f0200c170a994e</id>
<content type='text'>
* guix/openpgp.scm (&lt;openpgp-keyring&gt;)[table]: Rename to...
[ids]: ... this.
[fingerprints]: New field.
(keyring-insert, lookup-key-by-fingerprint): New procedures.
(%empty-keyring): Adjust.
(get-openpgp-keyring): Manipulate KEYRING instead of its vhash, use
'keyring-insert'.
* tests/openpgp.scm ("get-openpgp-keyring"): Test
'lookup-key-by-fingerprint'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/openpgp.scm (&lt;openpgp-keyring&gt;)[table]: Rename to...
[ids]: ... this.
[fingerprints]: New field.
(keyring-insert, lookup-key-by-fingerprint): New procedures.
(%empty-keyring): Adjust.
(get-openpgp-keyring): Manipulate KEYRING instead of its vhash, use
'keyring-insert'.
* tests/openpgp.scm ("get-openpgp-keyring"): Test
'lookup-key-by-fingerprint'.
</pre>
</div>
</content>
</entry>
<entry>
<title>openpgp: Store the issuer key id and fingerprint in &lt;openpgp-signature&gt;.</title>
<updated>2020-05-04T07:56:12+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-04-26T14:03:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=7b2b3a13cc2d9b043f37b2e7ba0f147c08de8fad'/>
<id>7b2b3a13cc2d9b043f37b2e7ba0f147c08de8fad</id>
<content type='text'>
* guix/openpgp.scm (&lt;openpgp-signature&gt;)[issuer, issuer-fingerprint]:
New fields.
(openpgp-signature-issuer, openpgp-signature-issuer-fingerprint): Remove.
(verify-openpgp-signature): Use 'openpgp-signature-issuer-key-id'.
(get-signature): Initialize 'issuer' and 'issuer-fingerprint'.
* tests/openpgp.scm ("get-openpgp-detached-signature/ascii"): Adjust
accordingly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/openpgp.scm (&lt;openpgp-signature&gt;)[issuer, issuer-fingerprint]:
New fields.
(openpgp-signature-issuer, openpgp-signature-issuer-fingerprint): Remove.
(verify-openpgp-signature): Use 'openpgp-signature-issuer-key-id'.
(get-signature): Initialize 'issuer' and 'issuer-fingerprint'.
* tests/openpgp.scm ("get-openpgp-detached-signature/ascii"): Adjust
accordingly.
</pre>
</div>
</content>
</entry>
<entry>
<title>openpgp: Decode the issuer-fingerprint signature subpacket.</title>
<updated>2020-05-04T07:56:12+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-04-25T21:23:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=4459c7859c286ab54fa3a9901c8a17591b04c516'/>
<id>4459c7859c286ab54fa3a9901c8a17591b04c516</id>
<content type='text'>
* guix/openpgp.scm (SUBPACKET-ISSUER-FINGERPRINT): New variable.
(openpgp-signature-issuer-fingerprint): New procedure.
(key-id-matches-fingerprint?): New procedure.
(get-signature): Look for the 'issuer and 'issuer-fingerprint
subpackets.  Ensure the issuer key ID matches the fingerprint when both
are available.
(parse-subpackets): Handle SUBPACKET-ISSUER-FINGERPRINT.
* tests/openpgp.scm (%rsa-key-fingerprint)
(%dsa-key-fingerprint, %ed25519-key-fingerprint): New variables.
* tests/openpgp.scm ("get-openpgp-detached-signature/ascii"): Check the
result of 'openpgp-signature-issuer-fingerprint'.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/openpgp.scm (SUBPACKET-ISSUER-FINGERPRINT): New variable.
(openpgp-signature-issuer-fingerprint): New procedure.
(key-id-matches-fingerprint?): New procedure.
(get-signature): Look for the 'issuer and 'issuer-fingerprint
subpackets.  Ensure the issuer key ID matches the fingerprint when both
are available.
(parse-subpackets): Handle SUBPACKET-ISSUER-FINGERPRINT.
* tests/openpgp.scm (%rsa-key-fingerprint)
(%dsa-key-fingerprint, %ed25519-key-fingerprint): New variables.
* tests/openpgp.scm ("get-openpgp-detached-signature/ascii"): Check the
result of 'openpgp-signature-issuer-fingerprint'.
</pre>
</div>
</content>
</entry>
</feed>
