From ab41b4a991fe4e75c1ebd6c3056ac1667f8d0e2a Mon Sep 17 00:00:00 2001 From: merlokk <807634+merlokk@users.noreply.github.com> Date: Fri, 28 Dec 2018 16:40:53 +0200 Subject: [PATCH] emv_rocacheck --- client/emv/cmdemv.h | 1 + client/emv/emv_roca.c | 5 ++--- client/emv/emv_roca.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client/emv/cmdemv.h b/client/emv/cmdemv.h index 0b0419b07..c91f75606 100644 --- a/client/emv/cmdemv.h +++ b/client/emv/cmdemv.h @@ -25,6 +25,7 @@ #include "cmdmain.h" #include "emvcore.h" #include "apduinfo.h" +#include "emv_roca.h" int CmdEMV(const char *Cmd); diff --git a/client/emv/emv_roca.c b/client/emv/emv_roca.c index 48845c99f..fe68b83ce 100644 --- a/client/emv/emv_roca.c +++ b/client/emv/emv_roca.c @@ -73,7 +73,7 @@ mbedtls_mpi_uint mpi_get_uint(const mbedtls_mpi *X) { return 0; } -bool emv_rocacheck(char *modulus) { +bool emv_rocacheck(const unsigned char *buf, size_t buflen) { mbedtls_mpi *t_modulus = NULL; mbedtls_mpi_init(t_modulus); @@ -82,8 +82,7 @@ bool emv_rocacheck(char *modulus) { rocacheck_init(); - // - MBEDTLS_MPI_CHK( mbedtls_mpi_read_string(t_modulus, 10, modulus) ); + MBEDTLS_MPI_CHK( mbedtls_mpi_read_binary(t_modulus, buf, buflen) ); for (int i = 0; i < ROCA_PRINTS_LENGTH; i++) { diff --git a/client/emv/emv_roca.h b/client/emv/emv_roca.h index e2ba0ac51..a42d8349e 100644 --- a/client/emv/emv_roca.h +++ b/client/emv/emv_roca.h @@ -35,7 +35,7 @@ void rocacheck_init(void); void rocacheck_cleanup(void); int bitand_is_zero( mbedtls_mpi* a, mbedtls_mpi* b ); -extern bool emv_rocacheck( char *modulus ); +extern bool emv_rocacheck( const unsigned char *buf, size_t buflen ); #endif