mirror of
https://github.com/polhenarejos/pico-hsm.git
synced 2026-01-17 09:28:05 +00:00
Added support for TokenInfo and StaticTokenInfo files.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
parent
b5b6dcd2e6
commit
405bf92e18
3 changed files with 12 additions and 7 deletions
|
|
@ -47,26 +47,26 @@ int cmd_select() {
|
|||
// return SW_INCORRECT_P1P2();
|
||||
//}
|
||||
|
||||
if (apdu.nc >= 2) {
|
||||
if (apdu.nc == 2) {
|
||||
fid = get_uint16_t(apdu.data, 0);
|
||||
}
|
||||
|
||||
//if ((fid & 0xff00) == (KEY_PREFIX << 8))
|
||||
// fid = (PRKD_PREFIX << 8) | (fid & 0xff);
|
||||
|
||||
uint8_t pfx = fid >> 8;
|
||||
if (pfx == PRKD_PREFIX ||
|
||||
/*uint8_t pfx = fid >> 8;*/
|
||||
/*if (pfx == PRKD_PREFIX ||
|
||||
pfx == CD_PREFIX ||
|
||||
pfx == CA_CERTIFICATE_PREFIX ||
|
||||
pfx == KEY_PREFIX ||
|
||||
pfx == EE_CERTIFICATE_PREFIX ||
|
||||
pfx == DCOD_PREFIX ||
|
||||
pfx == DATA_PREFIX ||
|
||||
pfx == PROT_DATA_PREFIX) {
|
||||
if (!(pe = search_dynamic_file(fid)) && !(pe = search_by_fid(fid, NULL, SPECIFY_EF))) {
|
||||
pfx == PROT_DATA_PREFIX) {*/
|
||||
if (fid != 0x0 && !(pe = search_dynamic_file(fid)) && !(pe = search_by_fid(fid, NULL, SPECIFY_EF))) {
|
||||
return SW_FILE_NOT_FOUND();
|
||||
}
|
||||
}
|
||||
/*}*/
|
||||
if (!pe) {
|
||||
if (p1 == 0x0) { //Select MF, DF or EF - File identifier or absent
|
||||
if (apdu.nc == 0) {
|
||||
|
|
|
|||
|
|
@ -33,11 +33,14 @@ int cmd_update_ef() {
|
|||
if (fid == 0x0) {
|
||||
ef = currentEF;
|
||||
}
|
||||
/*
|
||||
// This should not happen
|
||||
else if (p1 != EE_CERTIFICATE_PREFIX && p1 != PRKD_PREFIX && p1 != CA_CERTIFICATE_PREFIX &&
|
||||
p1 != CD_PREFIX && p1 != DATA_PREFIX && p1 != DCOD_PREFIX &&
|
||||
p1 != PROT_DATA_PREFIX) {
|
||||
return SW_INCORRECT_P1P2();
|
||||
}
|
||||
*/
|
||||
|
||||
if (ef && !authenticate_action(ef, ACL_OP_UPDATE_ERASE)) {
|
||||
return SW_SECURITY_STATUS_NOT_SATISFIED();
|
||||
|
|
|
|||
|
|
@ -40,7 +40,9 @@
|
|||
#define EF_PRKD_DEV 0xC400
|
||||
#define EF_EE_DEV 0xCE00
|
||||
|
||||
#define EF_TERMCA 0x2f02
|
||||
#define EF_TERMCA 0x2F02
|
||||
#define EF_TOKENINFO 0x2F03
|
||||
#define EF_STATICTOKEN 0xCB00
|
||||
|
||||
extern file_t *file_pin1;
|
||||
extern file_t *file_retries_pin1;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue