From a197ba1a99271525424b53e507e0afe5eb41473d Mon Sep 17 00:00:00 2001 From: Peter Popovec Date: Mon, 3 Jul 2017 13:19:42 +0200 Subject: [PATCH] MyEID - T0 protocol fail for derive operation apdu.le must be set minimally to shared key length (pubkey_len / 2), otherwise sc_get_response() does not read derived shared key from card. --- src/libopensc/card-myeid.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libopensc/card-myeid.c b/src/libopensc/card-myeid.c index 80c2821a..1b053a03 100644 --- a/src/libopensc/card-myeid.c +++ b/src/libopensc/card-myeid.c @@ -1005,7 +1005,7 @@ int myeid_ecdh_derive(struct sc_card *card, const u8* pubkey, size_t pubkey_len, memcpy(&sbuf[4 + ext_len_bytes], pubkey, pubkey_len); apdu.lc = pubkey_len + 4 + ext_len_bytes; - apdu.le = 0; + apdu.le = pubkey_len / 2; apdu.datalen = apdu.lc; apdu.data = sbuf;