1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-12-22 10:19:57 +01:00

scd:p15: Read certificates in extended mode.

* scd/app-p15.c (readcert_by_cdf): Allow reading in extended mode.
--

Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
Werner Koch 2020-03-31 11:57:19 +02:00
parent c9ad81070a
commit 2bdd4fc7b6
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B

View File

@ -660,6 +660,8 @@ read_ef_odf (app_t app, unsigned short odf_fid)
app->app_local->home_df = home_df; app->app_local->home_df = home_df;
log_info ("p15: application directory detected as 0x%04hX\n", log_info ("p15: application directory detected as 0x%04hX\n",
home_df); home_df);
/* We assume that direct path selection is possible. */
app->app_local->direct_path_selection = 1;
} }
/* We only allow a full path if all files are at the same /* We only allow a full path if all files are at the same
@ -2717,8 +2719,8 @@ readcert_by_cdf (app_t app, cdf_object_t cdf,
if (err) if (err)
goto leave; goto leave;
err = iso7816_read_binary (app_get_slot (app), cdf->off, cdf->len, err = iso7816_read_binary_ext (app_get_slot (app), 1, cdf->off, cdf->len,
&buffer, &buflen); &buffer, &buflen);
if (!err && (!buflen || *buffer == 0xff)) if (!err && (!buflen || *buffer == 0xff))
err = gpg_error (GPG_ERR_NOT_FOUND); err = gpg_error (GPG_ERR_NOT_FOUND);
if (err) if (err)