- pace-tool: fixed length of input buffer for EstablishPACEChannel

- added debug messages to pace.c


git-svn-id: https://vsmartcard.svn.sourceforge.net/svnroot/vsmartcard@157 96b47cad-a561-4643-ad3b-153ac7d7599c
This commit is contained in:
frankmorgner
2010-06-19 18:27:27 +00:00
parent 97e9cc2091
commit 2b8b14f994
2 changed files with 5 additions and 2 deletions

View File

@@ -156,7 +156,7 @@ int pace_get_channel(struct sm_ctx *oldpacectx, sc_card_t *card,
desc, desclen);
return EstablishPACEChannel(oldpacectx, card, buf,
1+pinlen+1+chatlen+2+desclen, out, outlen, sctx);
1+1+chatlen+1+pinlen+sizeof(word)+desclen, out, outlen, sctx);
}
int pace_translate_apdus(struct sm_ctx *sctx, sc_card_t *card)

View File

@@ -297,6 +297,7 @@ static int pace_mse_set_at(const struct sm_ctx *oldpacectx, sc_card_t *card,
}
if (!ASN1_INTEGER_set(data->key_reference1, secret_key)) {
sc_error(card->ctx, "Error setting key reference 1 of MSE:Set AT data");
r = SC_ERROR_INTERNAL;
goto err;
}
@@ -304,6 +305,7 @@ static int pace_mse_set_at(const struct sm_ctx *oldpacectx, sc_card_t *card,
if (length_chat) {
if (!d2i_PACE_CHAT(&data->cha_template, (const unsigned char **) &chat,
length_chat)) {
sc_error(card->ctx, "Error decoding card holder authorization template (CHAT)");
r = SC_ERROR_INTERNAL;
goto err;
}
@@ -312,6 +314,7 @@ static int pace_mse_set_at(const struct sm_ctx *oldpacectx, sc_card_t *card,
r = i2d_PACE_MSE_SET_AT_C(data, &d);
if (r < 0) {
sc_error(card->ctx, "Error encoding MSE:Set AT APDU data");
r = SC_ERROR_INTERNAL;
goto err;
}
@@ -741,7 +744,7 @@ int EstablishPACEChannel(const struct sm_ctx *oldpacectx, sc_card_t *card,
in += length_pin;
if (inlen < 1+1+length_chat+1+length_pin+sizeof(word)) {
sc_error(card->ctx, "Buffer too small, could not get lengthCertificateDescription %d %d",1+1+length_chat+1+length_pin+sizeof(word), inlen);
sc_error(card->ctx, "Buffer too small, could not get lengthCertificateDescription");
SC_FUNC_RETURN(card->ctx, SC_LOG_TYPE_DEBUG, SC_ERROR_INVALID_DATA);
}
memcpy(&word, in, sizeof word);