1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-12-23 10:29:58 +01:00

scd:openpgp: Support longer data for INTERNAL_AUTHENTICATE.

* scd/app-openpgp.c (do_auth): Use extended Lc, when supported.

--

GnuPG-bug-id: 5682
Co-authored-by: Klas Lindfors
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
NIIBE Yutaka 2021-11-15 11:40:41 +09:00 committed by Werner Koch
parent 027e34235b
commit b6b735edab
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B

View File

@ -4738,6 +4738,14 @@ do_auth (app_t app, ctrl_t ctrl, const char *keyidstr,
exmode = 1; /* Use extended length. */
le_value = app->app_local->keyattr[2].rsa.n_bits / 8;
}
else if (indatalen > 255)
{
if (!app->app_local->cardcap.ext_lc_le)
return gpg_error (GPG_ERR_TOO_LARGE);
exmode = 1;
le_value = 0;
}
else
{
exmode = 0;