1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00

sm: Optmize clearing of the ephemeral flag.

* kbx/keybox-search.c (keybox_get_cert): Store the blob clags in the
cert object.
* sm/certchain.c (do_validate_chain): Skip clearing of the ephemeral
flag if we know that it is not set.
--

GnuPG-bug-id: 7308
This commit is contained in:
Werner Koch 2024-09-27 15:50:46 +02:00
parent ecda4b1e16
commit 9543b3567b
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
2 changed files with 25 additions and 0 deletions

View file

@ -1196,6 +1196,7 @@ keybox_get_cert (KEYBOX_HANDLE hd, ksba_cert_t *r_cert)
size_t cert_off, cert_len;
ksba_reader_t reader = NULL;
ksba_cert_t cert = NULL;
unsigned int blobflags;
int rc;
if (!hd)
@ -1241,6 +1242,17 @@ keybox_get_cert (KEYBOX_HANDLE hd, ksba_cert_t *r_cert)
return gpg_error (GPG_ERR_GENERAL);
}
rc = get_flag_from_image (buffer, length, KEYBOX_FLAG_BLOB, &blobflags);
if (!rc)
rc = ksba_cert_set_user_data (cert, "keydb.blobflags",
&blobflags, sizeof blobflags);
if (rc)
{
ksba_cert_release (cert);
ksba_reader_release (reader);
return gpg_error (rc);
}
*r_cert = cert;
ksba_reader_release (reader);
return 0;