Added variable puk_store.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
Pol Henarejos
2022-06-09 14:15:17 +02:00
parent 8a14c22056
commit a4ffcebb0f

View File

@@ -150,7 +150,8 @@ void scan_all() {
scan_files(); scan_files();
} }
PUK_store puk_store[3]; PUK_store puk_store[MAX_PUK_STORE_ENTRIES];
int puk_store_entries = 0;
void init_sc_hsm() { void init_sc_hsm() {
scan_all(); scan_all();
@@ -158,12 +159,14 @@ void init_sc_hsm() {
isUserAuthenticated = false; isUserAuthenticated = false;
cmd_select(); cmd_select();
const uint8_t *cvcerts[] = { cvca, dica, termca }; const uint8_t *cvcerts[] = { cvca, dica, termca };
for (int i = 0; i < sizeof(cvcerts)/sizeof(uint8_t *); i++) { for (int i = 0, puk_store_entries = 0; i < sizeof(cvcerts)/sizeof(uint8_t *); i++, puk_store_entries++) {
uint16_t cert_len = (cvcerts[i][1] << 8) | cvcerts[i][0]; uint16_t cert_len = (cvcerts[i][1] << 8) | cvcerts[i][0];
puk_store[i].chr = cvc_get_chr((uint8_t *)cvcerts[i]+2, cert_len, &puk_store[i].chr_len); puk_store[i].chr = cvc_get_chr((uint8_t *)cvcerts[i]+2, cert_len, &puk_store[i].chr_len);
puk_store[i].car = cvc_get_chr((uint8_t *)cvcerts[i]+2, cert_len, &puk_store[i].car_len); puk_store[i].car = cvc_get_chr((uint8_t *)cvcerts[i]+2, cert_len, &puk_store[i].car_len);
puk_store[i].puk = cvc_get_pub((uint8_t *)cvcerts[i]+2, cert_len, &puk_store[i].puk_len); puk_store[i].puk = cvc_get_pub((uint8_t *)cvcerts[i]+2, cert_len, &puk_store[i].puk_len);
puk_store[i].up = i-1; puk_store[i].up = i-1;
puk_store[i].cvcert = cvcerts[i]+2;
puk_store[i].cvcert_len = cert_len;
} }
} }
@@ -1963,7 +1966,7 @@ static int cmd_mse() {
} }
else { else {
for (int i = 0; i < sizeof(puk_store)/sizeof(struct PUK_store); i++) { for (int i = 0; i < puk_store_entries; i++) {
if (memcmp(puk_store[i].chr, tag_data, puk_store[i].chr_len) == 0) if (memcmp(puk_store[i].chr, tag_data, puk_store[i].chr_len) == 0)
return SW_OK(); return SW_OK();
} }