From wiktor at metacode.biz Tue Sep 3 18:45:40 2024 From: wiktor at metacode.biz (Wiktor Kwapisiewicz) Date: Tue, 3 Sep 2024 18:45:40 +0200 Subject: Question about "gpgme_op_verify" and registering a known notation Message-ID: Hello, I'm writing a signature verifier which uses gpgme (specifically "gpgme_op_verify") and I'm looking for a way to register a notation name as "known" (basically what GnuPG exposes through "--known-notation" described here [0]) so that signatures bearing that notation with the critical bit set would pass the verification check. I've spent some time browsing through the docs and the source code but couldn't find the appropriate function. Is this feature already exposed through gpgme? Thanks for your help and time! Kind regards, Wiktor [0]: https://gnupg.org/documentation/manuals/gnupg/GPG-Esoteric-Options.html From wk at gnupg.org Wed Sep 4 11:15:14 2024 From: wk at gnupg.org (Werner Koch) Date: Wed, 04 Sep 2024 11:15:14 +0200 Subject: Question about "gpgme_op_verify" and registering a known notation In-Reply-To: (Wiktor Kwapisiewicz via Gnupg-devel's message of "Tue, 3 Sep 2024 18:45:40 +0200") References: Message-ID: <878qw7eq59.fsf@jacob.g10code.de> Hi! On Tue, 3 Sep 2024 18:45, Wiktor Kwapisiewicz said: > I've spent some time browsing through the docs and the source code but > couldn't find the appropriate function. Is this feature already > exposed through gpgme? Unfortunately this is not yet possible with gpgme. I re-opened your old ticket which was used to implement known-notation: https://dev.gnupg.org/T4060 For now I can only suggest to put this into the gpg.conf. Anopther option for gpgme might be to let gpg ignore all criticila notations and rely on the caller of gpgme to imeplement dedicated checks. Salam-Shalom, Werner -- The pioneers of a warless world are the youth that refuse military service. - A. Einstein -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 247 bytes Desc: not available URL: From sebastien at twolife.be Fri Sep 6 16:28:24 2024 From: sebastien at twolife.be (=?UTF-8?Q?S=C3=A9bastien_Noel?=) Date: Fri, 06 Sep 2024 16:28:24 +0200 Subject: submission of a manpage for gpgme-json Message-ID: <6edb3379f6e2e64fb35e4f1ff7cfacb1@twolife.be> Hello, I'm posting this directly here as account creation is disabled on dev.gnupg.org. In Debian we like to have a manpage for every binary in $PATH, so we wrote one for gpgme-json. I don't know if you are interested by having it upstream, but here it is in attachement. best regards, S?bastien -------------- next part -------------- A non-text attachment was scrubbed... Name: build-system.diff Type: text/x-diff Size: 1990 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: gpgme-json.texi Type: text/troff Size: 1622 bytes Desc: not available URL: From wk at gnupg.org Tue Sep 10 16:56:53 2024 From: wk at gnupg.org (Werner Koch) Date: Tue, 10 Sep 2024 16:56:53 +0200 Subject: submission of a manpage for gpgme-json In-Reply-To: <6edb3379f6e2e64fb35e4f1ff7cfacb1@twolife.be> (=?utf-8?Q?=22S?= =?utf-8?Q?=C3=A9bastien?= Noel via Gnupg-devel"'s message of "Fri, 06 Sep 2024 16:28:24 +0200") References: <6edb3379f6e2e64fb35e4f1ff7cfacb1@twolife.be> Message-ID: <87plpb8slm.fsf@jacob.g10code.de> Hi! On Fri, 6 Sep 2024 16:28, S?bastien Noel said: > I'm posting this directly here as account creation is disabled on > dev.gnupg.org. Please send me an account name suggestion, your name, and a mail address and I create an account for you. > for gpgme-json. I don't know if you are interested by having it > upstream, > but here it is in attachement. Yes, sure. I like man pages. Thanks for your work. Just doing a quick make distcheck and then I'll push your change. I also added a hint that -i allows to print help for the commands. Salam-Shalom, Werner -- The pioneers of a warless world are the youth that refuse military service. - A. Einstein -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 247 bytes Desc: not available URL: From wk at gnupg.org Thu Sep 12 14:02:41 2024 From: wk at gnupg.org (Werner Koch) Date: Thu, 12 Sep 2024 14:02:41 +0200 Subject: [Announce] GnuPG 2.5.1 released Message-ID: <87wmjh6pwe.fsf@jacob.g10code.de> Hello! We are pleased to announce the availability of a new GnuPG release: version 2.5.1. This release is the second of a series of public testing releases eventually leading to a new stable version 2.6. The main features in the 2.6 series are improvements for 64 bit Windows and the introduction of a PQC encryption algorithm. The 2.6 series will not differ a lot from 2.4 because the majority of changes are internal to make use of newer features from the supporting libraries. What is GnuPG ============= The GNU Privacy Guard (GnuPG, GPG) is a complete and free implementation of the OpenPGP and S/MIME standards. GnuPG allows to encrypt and sign data and communication, features a versatile key management system as well as access modules for public key directories. GnuPG itself is a command line tool with features for easy integration with other applications. The separate library GPGME provides a uniform API to use the GnuPG engine by software written in common programming languages. A wealth of frontend applications and libraries making use of GnuPG are available. As an universal crypto engine GnuPG provides support for S/MIME and Secure Shell in addition to OpenPGP. GnuPG is Free Software (meaning that it respects your freedom). It can be freely used, modified and distributed under the terms of the GNU General Public License. Noteworthy changes in version 2.5.1 (2024-09-12) ================================================ [compared to version 2.5.0] * gpg: The support for composite Kyber+ECC public key algorithms does now use the final FIPS-203 and LibrePGP specifications. The experimental keys from 2.5.0 are no longer supported. [T6815] * gpg: New commands --add-recipients and --change-recipients. [T1825] * gpg: New option --proc-all-sigs. [T7261] * gpg: Fix a regression in 2.5.0 in gpgme's tests. [T7195] * gpg: Make --no-literal work again for -c and --store. [T5852] * gpg: Improve detection of input data read errors. [T6528] * gpg: Fix getting key by IPGP record (rfc-4398). [T7288] * gpgsm: New option --assert-signer. [T7286] * gpgsm: More improvements to PKCS#12 parsing to cope with latest IVBB changes. [T7213] * agent: Fix KEYTOCARD command when used with a loopback pinentry. [T7283] * gpg-mail-tube: Make sure GNUPGHOME is set in vsd mode. New option --as-attach. [rG4511997e9e1b] * Now uses the process spawn API from libgpg-error. [T7192,T7194] * Removed the --enable-gpg-is-gpg2 configure time option. [rG2125f228d36c] * Die Windows version will now be build for 64-Bit Windows and with the corresponding changes to the installation directory and Registry keys. Release-info: https://dev.gnupg.org/T7191 Getting the Software ==================== Please follow the instructions found at or read on: GnuPG may be downloaded from one of the GnuPG mirror sites or direct from its primary file server. The list of mirrors can be found at . Note that GnuPG is not available at ftp.gnu.org. The GnuPG source code compressed using BZIP2 and its OpenPGP signature are available here: https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.5.1.tar.bz2 (7936k) https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.5.1.tar.bz2.sig An installer for Windows without any graphical frontend except for a very minimal Pinentry tool is available here: https://gnupg.org/ftp/gcrypt/binary/gnupg-w32-2.5.1_20240912.exe (5449k) https://gnupg.org/ftp/gcrypt/binary/gnupg-w32-2.5.1_20240912.exe.sig Note that these Windows binaries are exceptionally not AuthentiCode signed and not well tested. The source used to build this Windows installer is available at https://gnupg.org/ftp/gcrypt/gnupg/gnupg-w32-2.5.1_20240912.tar.xz (16M) https://gnupg.org/ftp/gcrypt/gnupg/gnupg-w32-2.5.1_20240912.tar.xz.sig This Windows source tarball may also be used to download all required libraries at once to build a Unix version on any modern system. See the included README but replace the make target "native" by "this-native". Checking the Integrity ====================== In order to check that the version of GnuPG which you are going to install is an original and unmodified one, you can do it in one of the following ways: * If you already have a version of GnuPG installed, you can simply verify the supplied signature. For example to verify the signature of the file gnupg-2.5.1.tar.bz2 you would use this command: gpg --verify gnupg-2.5.1.tar.bz2.sig gnupg-2.5.1.tar.bz2 This checks whether the signature file matches the source file. You should see a message indicating that the signature is good and made by one or more of the release signing keys. Make sure that this is a valid key, either by matching the shown fingerprint against a trustworthy list of valid release signing keys or by checking that the key has been signed by trustworthy other keys. See the end of this mail for information on the signing keys. * If you are not able to use an existing version of GnuPG, you have to verify the SHA-1 checksum. On Unix systems the command to do this is either "sha1sum" or "shasum". Assuming you downloaded the file gnupg-2.5.1.tar.bz2, you run the command like this: sha1sum gnupg-2.5.1.tar.bz2 and check that the output matches the next line: 1336f00a6d9ff9806a2187bb06e8faf59391b5a2 gnupg-2.5.1.tar.bz2 4237371dbe5ebafaa015da2f3681f466b65c9742 gnupg-w32-2.5.1_20240912.tar.xz 772dda3a41f7cafd07cad66340fa17becc77687d gnupg-w32-2.5.1_20240912.exe Internationalization ==================== This version of GnuPG has support for 26 languages with Chinese (traditional and simplified), Czech, French, German, Italian, Japanese, Norwegian, Polish, Russian, Turkish, and Ukrainian being almost completely translated. Documentation and Support ========================= The file gnupg.info has the complete reference manual of the system. Separate man pages are included as well but they miss some of the details available only in the manual. The manual is also available online at https://gnupg.org/documentation/manuals/gnupg/ or can be downloaded as PDF at https://gnupg.org/documentation/manuals/gnupg.pdf You may also want to search the GnuPG mailing list archives or ask on the gnupg-users mailing list for advise on how to solve problems. Most of the new features are around for several years and thus enough public experience is available. https://wiki.gnupg.org has user contributed information around GnuPG and relate software. In case of build problems specific to this release please first check https://dev.gnupg.org/T7191 for updated information. Please consult the archive of the gnupg-users mailing list before reporting a bug: https://gnupg.org/documentation/mailing-lists.html. We suggest to send bug reports for a new release to this list in favor of filing a bug at https://bugs.gnupg.org. If you need commercial support go to https://gnupg.com or https://gnupg.org/service.html. If you are a developer and you need a certain feature for your project, please do not hesitate to bring it to the gnupg-devel mailing list for discussion. Thanks ====== Since 2001 maintenance and development of GnuPG is done by g10 Code GmbH and has mostly been financed by donations. Several full-time employed developers and contractors are working exclusively on GnuPG and closely related software like Libgcrypt, GPGME, Kleopatra and Gpg4win. Fortunately, and this is still not common with free software, we have established a way of financing the development while keeping all our software free and freely available for everyone. Our model is similar to the way RedHat manages RHEL and Fedora: Except for the actual binary of the MSI installer for Windows and client specific configuration files, all the software is available under the GNU GPL and other Open Source licenses. Thus customers may even build and distribute their own version of the software as long as they do not use our trademarks GnuPG Desktop? or GnuPG VS-Desktop?. We like to thank all the nice people who are helping the GnuPG project, be it testing, coding, translating, suggesting, auditing, administering the servers, spreading the word, answering questions on the mailing lists, or helped with donations. *Thank you all* Your GnuPG hackers p.s. This is an announcement only mailing list. Please send replies only to the gnupg-users at gnupg.org mailing list. List of Release Signing Keys: To guarantee that a downloaded GnuPG version has not been tampered by malicious entities we provide signature files for all tarballs and binary versions. The keys are also signed by the long term keys of their respective owners. Current releases are signed by one or more of these four keys: rsa3072 2017-03-17 [expires: 2027-03-15] 5B80 C575 4298 F0CB 55D8 ED6A BCEF 7E29 4B09 2E28 Andre Heinecke (Release Signing Key) ed25519 2020-08-24 [expires: 2030-06-30] 6DAA 6E64 A76D 2840 571B 4902 5288 97B8 2640 3ADA Werner Koch (dist signing 2020) ed25519 2021-05-19 [expires: 2027-04-04] AC8E 115B F73E 2D8D 47FA 9908 E98E 9B2D 19C6 C8BD Niibe Yutaka (GnuPG Release Key) brainpoolP256r1 2021-10-15 [expires: 2029-12-31] 02F3 8DFF 731F F97C B039 A1DA 549E 695E 905B A208 GnuPG.com (Release Signing Key 2021) The keys are available at https://gnupg.org/signature_key.html and in any recently released GnuPG tarball in the file g10/distsigkey.gpg . Note that this mail has been signed by a different key. -- Arguing that you don't care about the right to privacy because you have nothing to hide is no different from saying you don't care about free speech because you have nothing to say. - Edward Snowden -------------- next part -------------- A non-text attachment was scrubbed... Name: openpgp-digital-signature.asc Type: application/pgp-signature Size: 247 bytes Desc: not available URL: -------------- next part -------------- _______________________________________________ Gnupg-announce mailing list Gnupg-announce at gnupg.org http://lists.gnupg.org/mailman/listinfo/gnupg-announce From marcel at telka.sk Thu Sep 12 17:26:16 2024 From: marcel at telka.sk (Marcel Telka) Date: Thu, 12 Sep 2024 17:26:16 +0200 Subject: 2.5.1 testing: gpgscm segfault Message-ID: Hi, I'm running tests for GnuPG 2.5.1 on OpenIndiana and I found that the gpgscm segfaults: $ DIR=/data/builds/oi-userland/components/sysutils/gnupg $ cd $DIR/build/amd64/tests/gpgscm $ EXEEXT= GPGSCM_PATH=$DIR/gnupg-2.5.1/tests/gpgscm ./gpgscm $DIR/gnupg-2.5.1/tests/gpgscm/t-child.scm Testing process and IPC primitives... Segmentation Fault (core dumped) $ $ mdb core Loading modules: [ libc.so.1 ld.so.1 ] > ::status debugging core file of gpgscm (64-bit) from il-spr file: /data/builds/oi-userland/components/sysutils/gnupg/build/amd64/tests/gpgscm/gpgscm initial argv: ./gpgscm /data/builds/oi-userland/components/sysutils/gnupg/gnupg-2.5.1/tests/g threading model: native threads status: process terminated by SIGSEGV (Segmentation Fault), addr=414f43 > ::stack do_process_spawn_io+0x333() Eval_Cycle+0x5224() scheme_load_memory+0x18a() load.constprop.0+0xd8() main+0x2c3() _start_crt+0x87() _start+0x18() > do_process_spawn_io+0x333::dis do_process_spawn_io+0x2ff: js +0xe4 do_process_spawn_io+0x305: movslq 0xffffffffffffdfa4(%rbp),%rax do_process_spawn_io+0x30c: movq %rax,%rdi do_process_spawn_io+0x30f: shrq $0x6,%rax do_process_spawn_io+0x313: movq 0xffffffffffffdfd0(%rbp,%rax,8),%rax do_process_spawn_io+0x31b: btq %rdi,%rax do_process_spawn_io+0x31f: jb +0x1c3 do_process_spawn_io+0x325: movslq 0xffffffffffffdfa8(%rbp),%rax do_process_spawn_io+0x32c: movq %rax,%r8 do_process_spawn_io+0x32f: shrq $0x6,%rax do_process_spawn_io+0x333: movq 0xffffffffffffdfd0(%rbp,%rax,8),%rax do_process_spawn_io+0x33b: btq %r8,%rax do_process_spawn_io+0x33f: jae -0xb5 do_process_spawn_io+0x345: movq 0xffffffffffffdf90(%rbp),%rdx do_process_spawn_io+0x34c: movq 0xffffffffffffdf80(%rbp),%rax do_process_spawn_io+0x353: movl %r8d,%edi do_process_spawn_io+0x356: subq %r13,%rdx do_process_spawn_io+0x359: leaq (%rax,%r13),%rsi do_process_spawn_io+0x35d: call -0x6642 do_process_spawn_io+0x362: testq %rax,%rax do_process_spawn_io+0x365: je +0x265 > $ Any idea or suggestion? Thank you. -- +-------------------------------------------+ | Marcel Telka e-mail: marcel at telka.sk | | homepage: http://telka.sk/ | +-------------------------------------------+ From gniibe at fsij.org Fri Sep 13 03:29:18 2024 From: gniibe at fsij.org (NIIBE Yutaka) Date: Fri, 13 Sep 2024 10:29:18 +0900 Subject: 2.5.1 testing: gpgscm segfault In-Reply-To: References: Message-ID: <87seu4jq8h.fsf@akagi.fsij.org> Hello, Marcel Telka wrote: > I'm running tests for GnuPG 2.5.1 on OpenIndiana and I found that the > gpgscm segfaults: Thank you for your testing. > do_process_spawn_io+0x2ff: js +0xe4 > do_process_spawn_io+0x305: movslq 0xffffffffffffdfa4(%rbp),%rax > do_process_spawn_io+0x30c: movq %rax,%rdi > do_process_spawn_io+0x30f: shrq $0x6,%rax > do_process_spawn_io+0x313: movq 0xffffffffffffdfd0(%rbp,%rax,8),%rax > do_process_spawn_io+0x31b: btq %rdi,%rax > do_process_spawn_io+0x31f: jb +0x1c3 > do_process_spawn_io+0x325: movslq 0xffffffffffffdfa8(%rbp),%rax > do_process_spawn_io+0x32c: movq %rax,%r8 > do_process_spawn_io+0x32f: shrq $0x6,%rax > do_process_spawn_io+0x333: movq 0xffffffffffffdfd0(%rbp,%rax,8),%rax > do_process_spawn_io+0x33b: btq %r8,%rax > do_process_spawn_io+0x33f: jae -0xb5 > do_process_spawn_io+0x345: movq 0xffffffffffffdf90(%rbp),%rdx > do_process_spawn_io+0x34c: movq 0xffffffffffffdf80(%rbp),%rax > do_process_spawn_io+0x353: movl %r8d,%edi > do_process_spawn_io+0x356: subq %r13,%rdx > do_process_spawn_io+0x359: leaq (%rax,%r13),%rsi > do_process_spawn_io+0x35d: call -0x6642 > do_process_spawn_io+0x362: testq %rax,%rax > do_process_spawn_io+0x365: je +0x265 It looks like access by FD_ISSET (err_fd, &read_fdset) caused SEGV in tests/gpgscm/ffi.c:do_process_spawn_io. Error handling is not good here. I'm pushing the change for fix. ========================== diff --git a/tests/gpgscm/ffi.c b/tests/gpgscm/ffi.c index 16d9147bf..1179e01c0 100644 --- a/tests/gpgscm/ffi.c +++ b/tests/gpgscm/ffi.c @@ -936,10 +936,18 @@ do_process_spawn_io (scheme *sc, pointer args) err = gpgrt_process_spawn (argv[0], (const char **) &argv[1], flags, NULL, &proc); - err = gpgrt_process_get_streams (proc, 0, &infp, NULL, NULL); + if (err) + { + xfree (argv); + FFI_RETURN_ERR (sc, err); + } - err = es_write (infp, a_input, strlen (a_input), NULL); - es_fclose (infp); + err = gpgrt_process_get_streams (proc, 0, &infp, NULL, NULL); + if (!err) + { + err = es_write (infp, a_input, strlen (a_input), NULL); + es_fclose (infp); + } if (err) { gpgrt_process_release (proc); @@ -1198,6 +1206,8 @@ do_process_spawn_fd (scheme *sc, pointer args) err = gpgrt_process_spawn (argv[0], (const char **)&argv[1], 0, act, &proc); gpgrt_spawn_actions_release (act); xfree (argv); + if (err) + FFI_RETURN_ERR (sc, err); FFI_RETURN_POINTER (sc, proc_wrap (sc, proc)); } -- From dongsheng.song at gmail.com Mon Sep 30 18:27:34 2024 From: dongsheng.song at gmail.com (Dongsheng Song) Date: Tue, 1 Oct 2024 00:27:34 +0800 Subject: 2.5.1 testing: [pqc] gpg exporting a secret dual key is not yet supported Message-ID: Hi, After I added a ky1024_cv448 subkey, all looks good to me, but when I export the secret key: # gpg -K --with-keygrip --with-subkey-fingerprint --keyid-format long /tmp/tmp.KVsqNYaBtX/pubring.kbx ------------------------------- sec ed448/A6FEFF804A85AF6F 2024-09-30 [C] [expires: 2025-09-30] A6FEFF804A85AF6F9241A47BE7FC1DEBE44C68D1B7DB99466FF00D9759B80C8A Keygrip = 59D1D2E1A828B4BE416A55F3ED8A38AA25D7EAF2 uid [ultimate] X448 User ssb ed448/84F04745A03D31A7 2024-09-30 [S] [expires: 2025-09-30] 84F04745A03D31A74EEE263ABA07623C9B501CDCF29CB787E65ACD4EC9811A95 Keygrip = 111A1F8C33C22BE95AB6145E64B933E33C5A51BE ssb ky1024_cv448/A06F5C46DF43CC21 2024-09-30 [E] [expires: 2025-09-30] A06F5C46DF43CC21772891CFE6A228D871C2179E402F89B26555E01EA6BF5207 Keygrip = 70DB35055368072FAE628462E555CF64909E2EBC, 09B0D40857A3032BACDB72C55F3C19070C84858F ssb ed448/AA2A723E4C0C2B69 2024-09-30 [A] [expires: 2025-09-30] AA2A723E4C0C2B6986DE7F4C536FAE2EA6D80DEDA12DCAC5225FC3A999DB1A33 Keygrip = 2860BFDC0E3B6E45533EE7B04CBBAEF6D7ABEE1C # gpg --export-secret-keys --batch --passphrase="${PP}" --pinentry-mode loopback ${fpr} > ${fpr}-k3.gpg gpg: exporting a secret dual key is not yet supported So what is the current backup and recovery solution for 1024_cv448 subkey? When or which version will support exporting 1024_cv448 subkey? Thanks, Dongsheng From dongsheng.song at gmail.com Mon Sep 30 18:01:17 2024 From: dongsheng.song at gmail.com (Dongsheng Song) Date: Tue, 1 Oct 2024 00:01:17 +0800 Subject: 2.5.1 testing: gpg export secret key error on cv25519/v5 Message-ID: Hi, I'm running tests for GnuPG 2.5.1 on and I found that the gpg export secret key error on cv25519/v5 has a regression: gpgconf --kill all; export PP='abc' export GNUPGHOME=$(mktemp -d) cd ${GNUPGHOME}; gpg -K; ls -ogA fpr=$(gpg --quick-gen-key --batch --passphrase="${PP}" "X25519 User " Ed25519/v5 cert,sign 1y 2>&1 | grep -oE '[0-9A-Z]{40,}'); \ gpg --export-secret-keys --batch --passphrase="${PP}" --pinentry-mode loopback ${fpr} > ${fpr}-k1.gpg; ls -ogA gpg --quick-add-key --batch --passphrase="${PP}" --pinentry-mode loopback ${fpr} cv25519/v5 encrypt 1y; \ gpg --export-secret-keys --batch --passphrase="${PP}" --pinentry-mode loopback ${fpr} > ${fpr}-k2.gpg; ls -ogA The subkey 'cv25519/v5' create succeed, but export secret key error: gpg: key 0058C8910A40CF407D347314C6399236C1B0CFAC: error receiving key from agent: Bad public key - skipped I had checked with GnuPG 2.4.5, no such errors, then this is a regression. Thanks, Dongsheng