- enable extended length apdu for all cards that have an ef.cardaccess

- set the bit for esign by default (for testing only)


git-svn-id: https://vsmartcard.svn.sourceforge.net/svnroot/vsmartcard@337 96b47cad-a561-4643-ad3b-153ac7d7599c
This commit is contained in:
frankmorgner
2010-10-21 12:45:13 +00:00
parent 1dd164d9e5
commit 171bfe8a1a
2 changed files with 8 additions and 5 deletions

View File

@@ -425,6 +425,10 @@ perform_PC_to_RDR_IccPowerOn(const __u8 *in, size_t inlen, __u8 **out, size_t *o
if (get_ef_card_access(card_in_slot[request->bSlot],
(u8 **) &ef_cardaccess, &ef_cardaccess_length) < 0) {
sc_error(ctx, "Could not get EF.CardAccess.");
} else {
/* All cards with PACE support extended length
* XXX this should better be done by the card driver */
card_in_slot[request->bSlot]->caps |= SC_CARD_CAP_APDU_EXT;
}
}
#endif
@@ -1139,6 +1143,9 @@ perform_PC_to_RDR_Secure(const __u8 *in, size_t inlen, __u8** out, size_t *outle
sc_result = perform_PC_to_RDR_Secure_GetReadersPACECapabilities(
&abDataOut, &abDataOutLen);
bin_log(card_in_slot[request->bSlot], "PACE Capabilities", abDataOut, abDataOutLen);
goto err;
break;
case 0x20:

View File

@@ -173,7 +173,7 @@ int GetReadersPACECapabilities(u8 *bitmap)
return SC_ERROR_INVALID_ARGUMENTS;
/* BitMap */
*bitmap = PACE_BITMAP_PACE|PACE_BITMAP_EID;
*bitmap = PACE_BITMAP_EID|PACE_BITMAP_EID|PACE_BITMAP_ESIGN;
return SC_SUCCESS;
}
@@ -1257,10 +1257,6 @@ int EstablishPACEChannel(struct sm_ctx *oldpacectx, sc_card_t *card,
sctx->block_length = EVP_CIPHER_block_size(pctx->cipher);
sctx->active = 1;
/* All cards with PACE support extended length
* XXX this should better be done by the card driver */
card->caps |= SC_CARD_CAP_APDU_EXT;
err:
if (info)
PACEInfo_free(info);