Skip to content

Commit ee3534f

Browse files
committed
Add SELECT template
Signed-off-by: Raul Metsma <[email protected]>
1 parent c58fd30 commit ee3534f

File tree

9 files changed

+46
-98
lines changed

9 files changed

+46
-98
lines changed

lib/libpcsc-cpp/include/pcsc-cpp/pcsc-cpp.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,11 @@ struct CommandApdu
170170

171171
constexpr operator const byte_vector&() const { return d; }
172172

173+
static PCSC_CPP_CONSTEXPR_VECTOR CommandApdu select(byte_type p1, byte_vector file)
174+
{
175+
return {0x00, 0xA4, p1, 0x0C, std::move(file)};
176+
}
177+
173178
byte_vector d;
174179
};
175180

src/electronic-ids/pcsc/EIDIDEMIA.cpp

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,6 @@ const byte_type AUTH_PIN_REFERENCE = 0x01;
3838
byte_vector EIDIDEMIA::getCertificateImpl(const CertificateType type) const
3939
{
4040
transmitApduWithExpectedResponse(*card, selectApplicationID().MAIN_AID);
41-
transmitApduWithExpectedResponse(*card,
42-
type.isAuthentication() ? selectApplicationID().AUTH_AID
43-
: selectApplicationID().SIGN_AID);
4441
return electronic_id::getCertificate(*card,
4542
type.isAuthentication() ? selectCertificate().AUTH_CERT
4643
: selectCertificate().SIGN_CERT);
@@ -107,25 +104,16 @@ const SelectApplicationIDCmds& EIDIDEMIA::selectApplicationID() const
107104
{
108105
static const SelectApplicationIDCmds selectAppIDCmds {
109106
// Main AID.
110-
{0x00,
111-
0xA4,
112-
0x04,
113-
0x00,
114-
{0xA0, 0x00, 0x00, 0x00, 0x77, 0x01, 0x08, 0x00, 0x07, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01,
115-
0x00}},
107+
CommandApdu::select(0x04,
108+
{0xA0, 0x00, 0x00, 0x00, 0x77, 0x01, 0x08, 0x00, 0x07, 0x00, 0x00, 0xFE,
109+
0x00, 0x00, 0x01, 0x00}),
116110
// AWP AID.
117-
{0x00,
118-
0xA4,
119-
0x04,
120-
0x0C,
121-
{0xe8, 0x28, 0xbd, 0x08, 0x0f, 0xf2, 0x50, 0x4f, 0x54, 0x20, 0x41, 0x57, 0x50}},
111+
CommandApdu::select(
112+
0x04, {0xe8, 0x28, 0xbd, 0x08, 0x0f, 0xf2, 0x50, 0x4f, 0x54, 0x20, 0x41, 0x57, 0x50}),
122113
// QSCD AID.
123-
{0x00,
124-
0xA4,
125-
0x04,
126-
0x0C,
127-
{0x51, 0x53, 0x43, 0x44, 0x20, 0x41, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F,
128-
0x6E}},
114+
CommandApdu::select(0x04,
115+
{0x51, 0x53, 0x43, 0x44, 0x20, 0x41, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61,
116+
0x74, 0x69, 0x6F, 0x6E}),
129117
};
130118
return selectAppIDCmds;
131119
}
@@ -134,9 +122,9 @@ const SelectCertificateCmds& EIDIDEMIA::selectCertificate() const
134122
{
135123
static const SelectCertificateCmds selectCert1Cmds {
136124
// Authentication certificate.
137-
{0x00, 0xA4, 0x02, 0x0C, {0x34, 0x01}},
125+
CommandApdu::select(0x09, {0xAD, 0xF1, 0x34, 0x01}),
138126
// Signing certificate.
139-
{0x00, 0xA4, 0x02, 0x0C, {0x34, 0x1F}},
127+
CommandApdu::select(0x09, {0xAD, 0xF2, 0x34, 0x1F}),
140128
};
141129
return selectCert1Cmds;
142130
}

src/electronic-ids/pcsc/FinEID.cpp

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,11 @@ using namespace pcsc_cpp;
4141
namespace
4242
{
4343

44-
const CommandApdu SELECT_MAIN_AID {
45-
0x00,
46-
0xA4,
47-
0x04,
48-
0x00,
49-
{0xa0, 0x00, 0x00, 0x00, 0x63, 0x50, 0x4b, 0x43, 0x53, 0x2d, 0x31, 0x35}};
50-
51-
const CommandApdu SELECT_MASTER_FILE {0x00, 0xa4, 0x00, 0x0C, {0x3f, 0x00}};
52-
53-
const CommandApdu SELECT_AUTH_CERT_FILE {0x00, 0xA4, 0x08, 0x0C, {0x43, 0x31}};
54-
const CommandApdu SELECT_SIGN_CERT_FILE_V3 {0x00, 0xA4, 0x08, 0x0C, {0x50, 0x16, 0x43, 0x35}};
55-
const CommandApdu SELECT_SIGN_CERT_FILE_V4 {0x00, 0xA4, 0x08, 0x0C, {0x50, 0x16, 0x43, 0x32}};
44+
const auto SELECT_MAIN_AID = CommandApdu::select(
45+
0x04, {0xa0, 0x00, 0x00, 0x00, 0x63, 0x50, 0x4b, 0x43, 0x53, 0x2d, 0x31, 0x35});
46+
const auto SELECT_AUTH_CERT_FILE = CommandApdu::select(0x08, {0x43, 0x31});
47+
const auto SELECT_SIGN_CERT_FILE_V3 = CommandApdu::select(0x08, {0x50, 0x16, 0x43, 0x35});
48+
const auto SELECT_SIGN_CERT_FILE_V4 = CommandApdu::select(0x08, {0x50, 0x16, 0x43, 0x32});
5649

5750
constexpr byte_type PIN_PADDING_CHAR = 0x00;
5851
constexpr byte_type AUTH_PIN_REFERENCE = 0x11;
@@ -133,8 +126,6 @@ byte_vector FinEIDv3::sign(const HashAlgorithm hashAlgo, const byte_vector& hash
133126
THROW(ArgumentFatalError, "No OID for algorithm " + std::string(hashAlgo));
134127
}
135128

136-
transmitApduWithExpectedResponse(*card, SELECT_MASTER_FILE);
137-
138129
verifyPin(*card, pinReference, std::move(pin), pinMinMaxLength.first, pinMinMaxLength.second,
139130
PIN_PADDING_CHAR);
140131
// Select security environment for COMPUTE SIGNATURE.

src/electronic-ids/pcsc/LatEIDIDEMIAv1.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ const SelectCertificateCmds& LatEIDIDEMIAV1::selectCertificate() const
5353
{
5454
static const SelectCertificateCmds selectCertCmds {
5555
// Authentication certificate.
56-
{0x00, 0xA4, 0x01, 0x0C, {0xA0, 0x02}},
56+
CommandApdu::select(0x09, {0xAD, 0xF1, 0xA0, 0x02}),
5757
// Signing certificate.
58-
{0x00, 0xA4, 0x01, 0x0C, {0xA0, 0x01}},
58+
CommandApdu::select(0x09, {0xAD, 0xF1, 0xA0, 0x01}),
5959
};
6060
return selectCertCmds;
6161
}

tests/mock/select-certificate-script-EST-IDEMIA.hpp

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,12 @@
2626

2727
const PcscMock::ApduScript ESTEID_IDEMIA_V1_SELECT_AUTH_CERTIFICATE_AND_AUTHENTICATE = {
2828
// Select main AID.
29-
{{0x00, 0xA4, 0x04, 0x00, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
29+
{{0x00, 0xA4, 0x04, 0x0C, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
3030
0x08, 0x00, 0x07, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0x00},
3131
{0x90, 0x00}},
3232
// Select AWP AID.
33-
{{0x00, 0xA4, 0x04, 0x0C, 0x0D, 0xe8, 0x28, 0xbd, 0x08, 0x0f, 0xf2, 0x50, 0x4f, 0x54, 0x20,
34-
0x41, 0x57, 0x50},
35-
{0x90, 0x00}},
3633
// Select authentication certificate file.
37-
{{0x00, 0xA4, 0x02, 0x0C, 0x02, 0x34, 0x01}, {0x90, 0x00}},
34+
{{0x00, 0xA4, 0x09, 0x0C, 0x04, 0xAD, 0xF1, 0x34, 0x01}, {0x90, 0x00}},
3835

3936
// Read data length.
4037
{{0x00, 0xb0, 0x00, 0x00, 0x04}, {0x30, 0x82, 0x04, 0x03, 0x90, 0x00}},
@@ -130,7 +127,7 @@ const PcscMock::ApduScript ESTEID_IDEMIA_V1_SELECT_AUTH_CERTIFICATE_AND_AUTHENTI
130127

131128
// 2. PIN Retry count
132129
// Select main AID.
133-
{{0x00, 0xA4, 0x04, 0x00, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
130+
{{0x00, 0xA4, 0x04, 0x0C, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
134131
0x08, 0x00, 0x07, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0x00},
135132
{0x90, 0x00}},
136133

@@ -143,7 +140,7 @@ const PcscMock::ApduScript ESTEID_IDEMIA_V1_SELECT_AUTH_CERTIFICATE_AND_AUTHENTI
143140

144141
// 3. Authenticate.
145142
// Select main AID.
146-
{{0x00, 0xA4, 0x04, 0x00, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
143+
{{0x00, 0xA4, 0x04, 0x0C, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
147144
0x08, 0x00, 0x07, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0x00},
148145
{0x90, 0x00}},
149146

@@ -180,15 +177,11 @@ const PcscMock::ApduScript ESTEID_IDEMIA_V1_SELECT_AUTH_CERTIFICATE_AND_AUTHENTI
180177

181178
const PcscMock::ApduScript ESTEID_IDEMIA_V1_SELECT_SIGN_CERTIFICATE_AND_SIGNING = {
182179
// Select main AID.
183-
{{0x00, 0xA4, 0x04, 0x00, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
180+
{{0x00, 0xA4, 0x04, 0x0C, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
184181
0x08, 0x00, 0x07, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0x00},
185182
{0x90, 0x00}},
186-
// Select QSCD AID.
187-
{{0x00, 0xA4, 0x04, 0x0C, 0x10, 0x51, 0x53, 0x43, 0x44, 0x20, 0x41,
188-
0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E},
189-
{0x90, 0x00}},
190183
// Select signing certificate file.
191-
{{0x00, 0xA4, 0x02, 0x0C, 0x02, 0x34, 0x1F}, {0x90, 0x00}},
184+
{{0x00, 0xA4, 0x09, 0x0C, 0x04, 0xAD, 0xF2, 0x34, 0x1F}, {0x90, 0x00}},
192185

193186
// Read data length.
194187
{{0x00, 0xb0, 0x00, 0x00, 0x04}, {0x30, 0x82, 0x03, 0xec, 0x90, 0x00}},

tests/mock/select-certificate-script-FIN-V3.hpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
const PcscMock::ApduScript FINEID_V3_SELECT_AUTH_CERTIFICATE_AND_AUTHENTICATE = {
2828
// Select main AID.
29-
{{0x00, 0xA4, 0x04, 0x00, 0x0C, 0xa0, 0x00, 0x00, 0x00, 0x63, 0x50, 0x4b, 0x43, 0x53, 0x2d,
29+
{{0x00, 0xA4, 0x04, 0x0C, 0x0C, 0xa0, 0x00, 0x00, 0x00, 0x63, 0x50, 0x4b, 0x43, 0x53, 0x2d,
3030
0x31, 0x35},
3131
{0x90, 0x00}},
3232
// Select authentication certificate file.
@@ -186,9 +186,6 @@ const PcscMock::ApduScript FINEID_V3_SELECT_AUTH_CERTIFICATE_AND_AUTHENTICATE =
186186
0x02, 0xff, 0xff, 0xdf, 0x28, 0x01, 0x0c, 0xdf, 0x2f, 0x01, 0x01, 0x90, 0x00}},
187187

188188
// 3. Authenticate.
189-
// Select master file
190-
{{0x00, 0xa4, 0x00, 0x0C, 0x02, 0x3f, 0x00}, {0x90, 0x00}},
191-
192189
// Verify PIN.
193190
{{0x00, 0x20, 0x00, 0x11, 0x0c, 0x31, 0x32, 0x33, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
194191
0x00, 0x00},
@@ -226,7 +223,7 @@ const PcscMock::ApduScript FINEID_V3_SELECT_AUTH_CERTIFICATE_AND_AUTHENTICATE =
226223

227224
const PcscMock::ApduScript FINEID_V3_SELECT_SIGN_CERTIFICATE_AND_SIGNING = {
228225
// Select main AID.
229-
{{0x00, 0xA4, 0x04, 0x00, 0x0C, 0xa0, 0x00, 0x00, 0x00, 0x63, 0x50, 0x4b, 0x43, 0x53, 0x2d,
226+
{{0x00, 0xA4, 0x04, 0x0C, 0x0C, 0xa0, 0x00, 0x00, 0x00, 0x63, 0x50, 0x4b, 0x43, 0x53, 0x2d,
230227
0x31, 0x35},
231228
{0x90, 0x00}},
232229
// Select signing certificate file.
@@ -371,9 +368,6 @@ const PcscMock::ApduScript FINEID_V3_SELECT_SIGN_CERTIFICATE_AND_SIGNING = {
371368
0x02, 0xff, 0xff, 0xdf, 0x28, 0x01, 0x0c, 0xdf, 0x2f, 0x01, 0x01, 0x90, 0x00}},
372369

373370
// 3. Signing.
374-
// Select master file
375-
{{0x00, 0xa4, 0x00, 0x0C, 0x02, 0x3f, 0x00}, {0x90, 0x00}},
376-
377371
// Verify PIN.
378372
{{0x00, 0x20, 0x00, 0x82, 0x0c, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x00, 0x00, 0x00, 0x00,
379373
0x00, 0x00},

tests/mock/select-certificate-script-FIN-V4.hpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
const PcscMock::ApduScript FINEID_V4_SELECT_AUTH_CERTIFICATE_AND_AUTHENTICATE {
2828
// Select main AID.
29-
{{0x00, 0xA4, 0x04, 0x00, 0x0C, 0xa0, 0x00, 0x00, 0x00, 0x63, 0x50, 0x4b, 0x43, 0x53, 0x2d,
29+
{{0x00, 0xA4, 0x04, 0x0C, 0x0C, 0xa0, 0x00, 0x00, 0x00, 0x63, 0x50, 0x4b, 0x43, 0x53, 0x2d,
3030
0x31, 0x35},
3131
{0x90, 0x00}},
3232
// Select authentication certificate file.
@@ -138,9 +138,6 @@ const PcscMock::ApduScript FINEID_V4_SELECT_AUTH_CERTIFICATE_AND_AUTHENTICATE {
138138
0x02, 0xff, 0xff, 0xdf, 0x28, 0x01, 0x0c, 0xdf, 0x2f, 0x01, 0x01, 0x90, 0x00}},
139139

140140
// 3. Authenticate.
141-
// Select master file
142-
{{0x00, 0xa4, 0x00, 0x0C, 0x02, 0x3f, 0x00}, {0x90, 0x00}},
143-
144141
// Verify PIN.
145142
{{0x00, 0x20, 0x00, 0x11, 0x0c, 0x31, 0x32, 0x33, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
146143
0x00, 0x00},
@@ -168,7 +165,7 @@ const PcscMock::ApduScript FINEID_V4_SELECT_AUTH_CERTIFICATE_AND_AUTHENTICATE {
168165

169166
const PcscMock::ApduScript FINEID_V4_SELECT_SIGN_CERTIFICATE_AND_SIGNING {
170167
// Select main AID.
171-
{{0x00, 0xA4, 0x04, 0x00, 0x0C, 0xa0, 0x00, 0x00, 0x00, 0x63, 0x50, 0x4b, 0x43, 0x53, 0x2d,
168+
{{0x00, 0xA4, 0x04, 0x0C, 0x0C, 0xa0, 0x00, 0x00, 0x00, 0x63, 0x50, 0x4b, 0x43, 0x53, 0x2d,
172169
0x31, 0x35},
173170
{0x90, 0x00}},
174171
// Select signing certificate file.
@@ -284,9 +281,6 @@ const PcscMock::ApduScript FINEID_V4_SELECT_SIGN_CERTIFICATE_AND_SIGNING {
284281
0x02, 0xff, 0xff, 0xdf, 0x28, 0x01, 0x0c, 0xdf, 0x2f, 0x01, 0x01, 0x90, 0x00}},
285282

286283
// 3. Signing.
287-
// Select master file
288-
{{0x00, 0xa4, 0x00, 0x0C, 0x02, 0x3f, 0x00}, {0x90, 0x00}},
289-
290284
// Verify PIN.
291285
{{0x00, 0x20, 0x00, 0x82, 0x0c, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x00, 0x00, 0x00, 0x00,
292286
0x00, 0x00},

tests/mock/select-certificate-script-LAT-V1.hpp

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,11 @@
2626

2727
const PcscMock::ApduScript LATEID_IDEMIA_V1_SELECT_AUTH_CERTIFICATE_AND_AUTHENTICATE = {
2828
// Select main AID.
29-
{{0x00, 0xA4, 0x04, 0x00, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
29+
{{0x00, 0xA4, 0x04, 0x0C, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
3030
0x08, 0x00, 0x07, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0x00},
3131
{0x90, 0x00}},
32-
// Select AWP AID.
33-
{{0x00, 0xA4, 0x04, 0x0C, 0x0D, 0xe8, 0x28, 0xbd, 0x08, 0x0f, 0xf2, 0x50, 0x4f, 0x54, 0x20,
34-
0x41, 0x57, 0x50},
35-
{0x90, 0x00}},
3632
// Select authentication certificate file.
37-
{{0x00, 0xA4, 0x01, 0x0C, 0x02, 0xA0, 0x02}, {0x90, 0x00}},
33+
{{0x00, 0xA4, 0x09, 0x0C, 0x04, 0xAD, 0xF1, 0xA0, 0x02}, {0x90, 0x00}},
3834

3935
// Read data length.
4036
{{0x00, 0xb0, 0x00, 0x00, 0x04}, {0x30, 0x82, 0x07, 0x4d, 0x90, 0x00}},
@@ -201,7 +197,7 @@ const PcscMock::ApduScript LATEID_IDEMIA_V1_SELECT_AUTH_CERTIFICATE_AND_AUTHENTI
201197

202198
// 2. PIN Retry count
203199
// Select main AID.
204-
{{0x00, 0xA4, 0x04, 0x00, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
200+
{{0x00, 0xA4, 0x04, 0x0C, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
205201
0x08, 0x00, 0x07, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0x00},
206202
{0x90, 0x00}},
207203

@@ -214,7 +210,7 @@ const PcscMock::ApduScript LATEID_IDEMIA_V1_SELECT_AUTH_CERTIFICATE_AND_AUTHENTI
214210

215211
// 3. Authenticate.
216212
// Select main AID.
217-
{{0x00, 0xA4, 0x04, 0x00, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
213+
{{0x00, 0xA4, 0x04, 0x0C, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
218214
0x08, 0x00, 0x07, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0x00},
219215
{0x90, 0x00}},
220216
// Select AWP AID.
@@ -259,15 +255,11 @@ const PcscMock::ApduScript LATEID_IDEMIA_V1_SELECT_AUTH_CERTIFICATE_AND_AUTHENTI
259255

260256
const PcscMock::ApduScript LATEID_IDEMIA_V1_SELECT_SIGN_CERTIFICATE_AND_SIGNING = {
261257
// Select main AID.
262-
{{0x00, 0xA4, 0x04, 0x00, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
258+
{{0x00, 0xA4, 0x04, 0x0C, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
263259
0x08, 0x00, 0x07, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0x00},
264260
{0x90, 0x00}},
265-
// Select AWP AID.
266-
{{0x00, 0xA4, 0x04, 0x0C, 0x0D, 0xe8, 0x28, 0xbd, 0x08, 0x0f, 0xf2, 0x50, 0x4f, 0x54, 0x20,
267-
0x41, 0x57, 0x50},
268-
{0x90, 0x00}},
269261
// Select signing certificate file.
270-
{{0x00, 0xA4, 0x01, 0x0C, 0x02, 0xA0, 0x01}, {0x90, 0x00}},
262+
{{0x00, 0xA4, 0x09, 0x0C, 0x04, 0xAD, 0xF1, 0xA0, 0x01}, {0x90, 0x00}},
271263

272264
// Read data length.
273265
{{0x00, 0xb0, 0x00, 0x00, 0x04}, {0x30, 0x82, 0x08, 0xf0, 0x90, 0x00}},

tests/mock/select-certificate-script-LAT-V2.hpp

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,11 @@
2626

2727
const PcscMock::ApduScript LATEID_IDEMIA_V2_SELECT_AUTH_CERTIFICATE_AND_AUTHENTICATE {
2828
// Select main AID.
29-
{{0x00, 0xA4, 0x04, 0x00, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
29+
{{0x00, 0xA4, 0x04, 0x0C, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
3030
0x08, 0x00, 0x07, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0x00},
3131
{0x90, 0x00}},
32-
// Select AWP AID.
33-
{{0x00, 0xA4, 0x04, 0x0C, 0x0D, 0xe8, 0x28, 0xbd, 0x08, 0x0f, 0xf2, 0x50, 0x4f, 0x54, 0x20,
34-
0x41, 0x57, 0x50},
35-
{0x90, 0x00}},
36-
3732
// Select authentication certificate file.
38-
{{0x00, 0xA4, 0x02, 0x0C, 0x02, 0x34, 0x01}, {0x90, 0x00}},
33+
{{0x00, 0xA4, 0x09, 0x0C, 0x04, 0xAD, 0xF1, 0x34, 0x01}, {0x90, 0x00}},
3934

4035
// Read data length.
4136
{{0x00, 0xb0, 0x00, 0x00, 0x04}, {0x30, 0x82, 0x06, 0xc1, 0x90, 0x00}},
@@ -190,7 +185,7 @@ const PcscMock::ApduScript LATEID_IDEMIA_V2_SELECT_AUTH_CERTIFICATE_AND_AUTHENTI
190185

191186
// 2. PIN Retry count
192187
// Select main AID.
193-
{{0x00, 0xA4, 0x04, 0x00, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
188+
{{0x00, 0xA4, 0x04, 0x0C, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
194189
0x08, 0x00, 0x07, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0x00},
195190
{0x90, 0x00}},
196191

@@ -203,7 +198,7 @@ const PcscMock::ApduScript LATEID_IDEMIA_V2_SELECT_AUTH_CERTIFICATE_AND_AUTHENTI
203198

204199
// 3. Authenticate.
205200
// Select main AID.
206-
{{0x00, 0xA4, 0x04, 0x00, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
201+
{{0x00, 0xA4, 0x04, 0x0C, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
207202
0x08, 0x00, 0x07, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0x00},
208203
{0x90, 0x00}},
209204

@@ -222,7 +217,7 @@ const PcscMock::ApduScript LATEID_IDEMIA_V2_SELECT_AUTH_CERTIFICATE_AND_AUTHENTI
222217
{{0x00, 0xB0, 0x00, 0x00, 0x05}, {0x30, 0x02, 0x02, 0x00, 0x81, 0x90, 0x00}},
223218

224219
// Select main AID.
225-
{{0x00, 0xA4, 0x04, 0x00, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
220+
{{0x00, 0xA4, 0x04, 0x0C, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
226221
0x08, 0x00, 0x07, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0x00},
227222
{0x90, 0x00}},
228223

@@ -265,15 +260,11 @@ const PcscMock::ApduScript LATEID_IDEMIA_V2_SELECT_AUTH_CERTIFICATE_AND_AUTHENTI
265260

266261
const PcscMock::ApduScript LATEID_IDEMIA_V2_SELECT_SIGN_CERTIFICATE_AND_SIGNING {
267262
// Select main AID.
268-
{{0x00, 0xA4, 0x04, 0x00, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
263+
{{0x00, 0xA4, 0x04, 0x0C, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
269264
0x08, 0x00, 0x07, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0x00},
270265
{0x90, 0x00}},
271-
// Select QSCD AID.
272-
{{0x00, 0xA4, 0x04, 0x0C, 0x10, 0x51, 0x53, 0x43, 0x44, 0x20, 0x41,
273-
0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E},
274-
{0x90, 0x00}},
275266
// Select signing certificate file.
276-
{{0x00, 0xA4, 0x02, 0x0C, 0x02, 0x34, 0x1F}, {0x90, 0x00}},
267+
{{0x00, 0xA4, 0x09, 0x0C, 0x04, 0xAD, 0xF2, 0x34, 0x1F}, {0x90, 0x00}},
277268

278269
// Read data length.
279270
{{0x00, 0xb0, 0x00, 0x00, 0x04}, {0x30, 0x82, 0x08, 0x48, 0x90, 0x00}},
@@ -472,7 +463,7 @@ const PcscMock::ApduScript LATEID_IDEMIA_V2_SELECT_SIGN_CERTIFICATE_AND_SIGNING
472463

473464
// 3. Signing.
474465
// Select main AID.
475-
{{0x00, 0xA4, 0x04, 0x00, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
466+
{{0x00, 0xA4, 0x04, 0x0C, 0x10, 0xA0, 0x00, 0x00, 0x00, 0x77, 0x01,
476467
0x08, 0x00, 0x07, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x01, 0x00},
477468
{0x90, 0x00}},
478469

0 commit comments

Comments
 (0)