From: Dmitrii Zhuravlev Date: Tue, 6 Oct 2015 18:59:02 +0000 (+0300) Subject: Fix ECDSA signature verification X-Git-Tag: 1.2.0+RC1~901 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ea40d440b857683a31e9d5970e8216701075de6d;p=platform%2Fupstream%2Fiotivity.git Fix ECDSA signature verification [Patch #1] Fix signature verification. [Patch #2] Fix compatibility. Change-Id: Ib1b3769fc42143878d84f58830af1d3976409524 Signed-off-by: Dmitrii Zhuravlev Reviewed-on: https://gerrit.iotivity.org/gerrit/3647 Reviewed-by: Hauke Mehrtens Tested-by: jenkins-iotivity Reviewed-by: Sachin Agrawal (cherry picked from commit b5d9281374cd35e36e4bd348b4884d2f56d20ba8) Reviewed-on: https://gerrit.iotivity.org/gerrit/3755 --- diff --git a/extlibs/tinydtls/crypto.c b/extlibs/tinydtls/crypto.c index d8e5e8e..77a8e04 100644 --- a/extlibs/tinydtls/crypto.c +++ b/extlibs/tinydtls/crypto.c @@ -585,8 +585,13 @@ dtls_ecdsa_create_sig_hash(const unsigned char *priv_key, size_t key_size, return 0; uECC_sign(priv_key, sign_hash, sign); - memcpy(point_r, sign, 32); - memcpy(point_s, sign + 32, 32); + + int i; + for (i = 0; i < 32; i++) + { + ((uint8_t *) point_r)[i] = sign[31 - i]; + ((uint8_t *) point_s)[i] = sign[63 - i]; + } } void