From 3e351bf26af81b4822e83ba825ac3a787f96eccf Mon Sep 17 00:00:00 2001 From: merlokk Date: Wed, 6 Dec 2017 19:47:36 +0200 Subject: [PATCH] small addition --- client/emv/emv_pki.c | 10 +++++++++- client/emv/emv_pki.h | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/client/emv/emv_pki.c b/client/emv/emv_pki.c index 16206034..23b9c130 100644 --- a/client/emv/emv_pki.c +++ b/client/emv/emv_pki.c @@ -295,7 +295,7 @@ struct emv_pk *emv_pki_recover_icc_pe_cert(const struct emv_pk *pk, struct tlvdb NULL); } -struct tlvdb *emv_pki_recover_dac(const struct emv_pk *enc_pk, const struct tlvdb *db, const struct tlv *sda_tlv) +struct tlvdb *emv_pki_recover_dac_ex(const struct emv_pk *enc_pk, const struct tlvdb *db, const struct tlv *sda_tlv, bool showData) { size_t data_len; unsigned char *data = emv_pki_decode_message(enc_pk, 3, &data_len, @@ -306,12 +306,20 @@ struct tlvdb *emv_pki_recover_dac(const struct emv_pk *enc_pk, const struct tlvd if (!data || data_len < 5) return NULL; + if (showData){ + printf("Recovered data:\n"); + dump_buffer(data, data_len, stdout, 0); + } + struct tlvdb *dac_db = tlvdb_fixed(0x9f45, 2, data+3); free(data); return dac_db; } +struct tlvdb *emv_pki_recover_dac(const struct emv_pk *enc_pk, const struct tlvdb *db, const struct tlv *sda_tlv) { + return emv_pki_recover_dac_ex(enc_pk, db, sda_tlv, false); +} struct tlvdb *emv_pki_recover_idn(const struct emv_pk *enc_pk, const struct tlvdb *db, const struct tlv *dyn_tlv) { return emv_pki_recover_idn_ex(enc_pk, db, dyn_tlv, false); diff --git a/client/emv/emv_pki.h b/client/emv/emv_pki.h index cebb57de..ffa63946 100644 --- a/client/emv/emv_pki.h +++ b/client/emv/emv_pki.h @@ -26,6 +26,7 @@ struct emv_pk *emv_pki_recover_icc_cert(const struct emv_pk *pk, struct tlvdb *d struct emv_pk *emv_pki_recover_icc_pe_cert(const struct emv_pk *pk, struct tlvdb *db); struct tlvdb *emv_pki_recover_dac(const struct emv_pk *pk, const struct tlvdb *db, const struct tlv *sda_tlv); +struct tlvdb *emv_pki_recover_dac_ex(const struct emv_pk *pk, const struct tlvdb *db, const struct tlv *sda_tlv, bool showData); struct tlvdb *emv_pki_recover_idn(const struct emv_pk *pk, const struct tlvdb *db, const struct tlv *dyn_tlv); struct tlvdb *emv_pki_recover_idn_ex(const struct emv_pk *pk, const struct tlvdb *db, const struct tlv *dyn_tlv, bool showData); struct tlvdb *emv_pki_perform_cda(const struct emv_pk *enc_pk, const struct tlvdb *db,