From 71b1f55f7cf6254c8c0303ba2bdfc64c7a5b4c70 Mon Sep 17 00:00:00 2001 From: vtarasov Date: Sun, 29 May 2011 17:49:00 +0000 Subject: [PATCH] pkcs15-init: use general function to reverse memory buffer git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@5517 c6295689-39f2-0310-b995-f0e70906c6a9 --- src/tools/pkcs15-init.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/src/tools/pkcs15-init.c b/src/tools/pkcs15-init.c index 1a23c984..01b6f046 100644 --- a/src/tools/pkcs15-init.c +++ b/src/tools/pkcs15-init.c @@ -2199,22 +2199,6 @@ static int do_convert_private_key(struct sc_pkcs15_prkey *key, EVP_PKEY *pk) return 0; } -#if OPENSSL_VERSION_NUMBER >= 0x10000000L && !defined(OPENSSL_NO_EC) -static void reverse(unsigned char *buf, size_t len) -{ - unsigned char tmp; - size_t i; - - assert(buf || len == 0); - for (i = 0; i < len / 2; ++i) - { - tmp = buf[i]; - buf[i] = buf[len - 1 - i]; - buf[len - 1 - i] = tmp; - } -} -#endif /* OPENSSL_VERSION_NUMBER >= 0x10000000L && !defined(OPENSSL_NO_EC) */ - static int do_convert_public_key(struct sc_pkcs15_pubkey *key, EVP_PKEY *pk) { switch (pk->type) { @@ -2264,7 +2248,9 @@ static int do_convert_public_key(struct sc_pkcs15_pubkey *key, EVP_PKEY *pk) if (dst->xy.data) { BN_bn2bin(Y, dst->xy.data); BN_bn2bin(X, dst->xy.data + BN_num_bytes(Y)); - reverse(dst->xy.data, dst->xy.len); + r = sc_mem_reverse(dst->xy.data, dst->xy.len); + if (!r) + r = 1; key->algorithm = SC_ALGORITHM_GOSTR3410; } else