From e36b2d1bce4bb6281e18f53d06d7831e6d6f5a09 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Mon, 4 Sep 2023 17:03:01 +0200 Subject: New mode to list a v5 fingerprint for v4 packets. * src/gpgme.h.in (GPGME_KEYLIST_MODE_WITH_V5FPR): New. (struct _gpgme_subkey): Add field v5fpr. * src/engine-gpg.c (gpg_keylist_build_options): Pass new option to gpg. * src/key.c (gpgme_key_unref): Free new field. * src/keylist.c (op_data_t): Parse and add "fp2" line. * tests/run-keylist.c (show_usage): Add option --v5fpr. * src/keylist.c (op_data_t): Add field failure_code. (keylist_status_handler): Handle special value. (gpgme_op_keylist_end): Return an error if a FAILURE line has been seen. -- Note that the failure code part has been added to better diagnose problems if a wrong gpg version is used. If verything works right we should not get this because we check that the gnupg version sis either >= 2.4.4 or less than 2.3 and >= 2.2.42. Note further that the v5fpr field may also be used to get the SHA-256 fingerprint of X.509 certificates (even without passing the new mode flag). GnuPG-bug-id: 6705 --- doc/gpgme.texi | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'doc') diff --git a/doc/gpgme.texi b/doc/gpgme.texi index 714ff916..bce1b163 100644 --- a/doc/gpgme.texi +++ b/doc/gpgme.texi @@ -2901,6 +2901,12 @@ option also makes sure that the keygrip is available in the output. The @code{GPGME_KEYLIST_MODE_EPHEMERAL} symbol specifies that keys flagged as ephemeral are included in the listing. +@item GPGME_KEYLIST_MODE_WITH_V5FPR +@since{1.23.0} + +The @code{GPGME_KEYLIST_MODE_WITH_V5FPR} symbol specifies that key +listings shall also provide v5 style fingerprints for v4 OpenPGp keys. + @item GPGME_KEYLIST_MODE_VALIDATE @since{0.4.5} @@ -3610,6 +3616,10 @@ This is the key ID of the subkey in hexadecimal digits. This is the fingerprint of the subkey in hexadecimal digits, if available. +@item char *v5fpr +For a v4 OpenPGP key this is its v5 style fingerprint of the subkey in +hexadecimal digits, if available. + @item char *keygrip @since{1.7.0} -- cgit v1.2.3