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

scd:nks: Fix certificate read problem with TCOS signature card v2.

* scd/app-nks.c (filelist): Add a dedicated key entry for ESIGN.
(do_readcert): Test for the app_id.

Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
Werner Koch 2020-06-30 14:41:20 +02:00
parent 58b091df83
commit 07aef873eb
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B

View File

@ -156,6 +156,7 @@ static struct
{ 1, 0xC008, 3, 101 }, /* EF_C.CA.SIG */ { 1, 0xC008, 3, 101 }, /* EF_C.CA.SIG */
{ 1, 0xC00E, 3, 111 }, /* EF_C.RCA.SIG */ { 1, 0xC00E, 3, 111 }, /* EF_C.RCA.SIG */
{ 2, 0x4531, 15, 0, 0xC001, 0,1,1, 0x84}, /* EF_PK.CH.SIG */
{ 2, 0xC000, 15,101 }, /* EF.C.SCA.QES (SubCA) */ { 2, 0xC000, 15,101 }, /* EF.C.SCA.QES (SubCA) */
{ 2, 0xC001, 15,100 }, /* EF.C.ICC.QES (Cert) */ { 2, 0xC001, 15,100 }, /* EF.C.ICC.QES (Cert) */
{ 2, 0xC00E, 15,111 }, /* EF.C.RCA.QES (RootCA */ { 2, 0xC00E, 15,111 }, /* EF.C.RCA.QES (RootCA */
@ -1006,6 +1007,7 @@ do_readcert (app_t app, const char *certid,
fid = xtoi_4 (certid); fid = xtoi_4 (certid);
for (i=0; filelist[i].fid; i++) for (i=0; filelist[i].fid; i++)
if ((filelist[i].certtype || filelist[i].iskeypair) if ((filelist[i].certtype || filelist[i].iskeypair)
&& filelist[i].nks_app_id == nks_app_id
&& filelist[i].fid == fid) && filelist[i].fid == fid)
break; break;
if (!filelist[i].fid) if (!filelist[i].fid)