diff --git a/ccid/src/pace-tool.c b/ccid/src/pace-tool.c index 7f145c3..48e15a6 100644 --- a/ccid/src/pace-tool.c +++ b/ccid/src/pace-tool.c @@ -281,10 +281,10 @@ main (int argc, char **argv) goto err; printf("Established PACE channel with CAN.\n"); - i = pace_reset_retry_counter(&tmpctx, card, PACE_PIN, 0, NULL, 0); - if (i < 0) - goto err; - printf("Resumed PIN.\n"); + /*i = pace_reset_retry_counter(&tmpctx, card, PACE_PIN, 0, NULL, 0);*/ + /*if (i < 0)*/ + /*goto err;*/ + /*printf("Resumed PIN.\n");*/ i = pace_get_channel(&tmpctx, card, PACE_PIN, pin, pin ? strlen(pin) : 0, diff --git a/ccid/src/pace.c b/ccid/src/pace.c index 527d795..3c4349b 100644 --- a/ccid/src/pace.c +++ b/ccid/src/pace.c @@ -314,18 +314,11 @@ static int pace_mse_set_at(const struct sm_ctx *oldpacectx, sc_card_t *card, if (apdu.sw1 == 0x63) { if ((apdu.sw2 & 0xc0) == 0xc0) { tries = apdu.sw2 & 0x0f; - sc_error(card->ctx, "Verification failed (remaining tries: %d%s)\n", - tries, tries == 1? ", password must be resumed": - tries == 0? ", password must be unblocked": ""); - if (tries > 1) { - /* this is only a warning... */ - r = SC_SUCCESS; - } else { - /* With less than 2 remaining tries an other type of secret - * must be used for the resume or unblock operation. */ - r = SC_ERROR_SECURITY_STATUS_NOT_SATISFIED; - goto err; - } + /* this is only a warning... */ + sc_error(card->ctx, "Remaining tries: %d%s\n", + tries, tries == 1? ", (password must be resumed)": + tries == 0? ", (password must be unblocked)": ""); + r = SC_SUCCESS; } else { sc_error(card->ctx, "Unknown SWs; SW1=%02X, SW2=%02X\n", apdu.sw1, apdu.sw2); diff --git a/ccid/src/sm.c b/ccid/src/sm.c index f89ffcb..652c862 100644 --- a/ccid/src/sm.c +++ b/ccid/src/sm.c @@ -566,8 +566,6 @@ int sm_transmit_apdu(const struct sm_ctx *sctx, sc_card_t *card, "Could not transmit SM APDU"); SC_TEST_RET(card->ctx, sm_decrypt(sctx, card, &sm_apdu, apdu), "Could not decrypt APDU"); - SC_TEST_RET(card->ctx, sc_check_sw(card, apdu->sw1, apdu->sw2), - "Card returned error"); SC_FUNC_RETURN(card->ctx, SC_LOG_TYPE_ERROR, SC_SUCCESS); }