Hi, i was able to find an example under wolfcrypt/test/test.c so it's ok! if it can help you to understand the mechanism an.schall.
There are more explanations here:
http://www.yassl.com/forums/topic616-so … ation.html
If i have well understood, plaintext size must be equal to cipher text size...

2

(11 replies, posted in wolfSSL)

Thank you for your detailed answer Kaleb,
So i followed what you advised me, i did this:



./configure LIBS="-lc -lm -lgcc -lnosys"  CPPFLAGS="-I/usr/include/ -I/home/kune/Bureau/FreeRTOS/Source/include/ -I/home/kune/Bureau/FreeRTOS/Demo/CORTEX_LM3Sxxxx_Eclipse/RTOSDemo/ -I/home/kune/Bureau/FreeRTOS/Source/portable/GCC/ARM_CM3/"  --disable-examples --enable-aesgcm --enable-camellia --enable-sha512 --enable-keygen --enable-certgen --enable-ecc --host=arm-none-eabi CC= arm-none-eabi-gcc  AR=arm-none-eabi-ar RANLIB=arm-none-eabi-ranlib AS=arm-none-eabi-gcc LD=arm-none-eabi-ld --build= x86-linux-64 march=armv7 mcpu=cortex-m3 CFLAGS="${CFLAGS} -DFREERTOS -g -O0 -specs=nosys.specs"

- I had to find a path for the header file: portmacro.h too
After "make" i get these mistakes :

src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `DoServerKeyExchange':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:10496: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `SendClientKeyExchange':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:11945: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:11957: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `SendCertificateVerify':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:12321: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:12330: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `SendServerKeyExchange':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:12909: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `DoClientKeyExchange':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:15558: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-io.o): In function `LastError':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/io.c:255: undefined reference to `__errno_location'
src/.libs/libwolfssl.a(src_libwolfssl_la-io.o): In function `EmbedReceive':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/io.c:289: undefined reference to `recv'
src/.libs/libwolfssl.a(src_libwolfssl_la-io.o): In function `EmbedSend':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/io.c:346: undefined reference to `send'
src/.libs/libwolfssl.a(src_libwolfssl_la-keys.o): In function `SetKeys':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/keys.c:1900: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/keys.c:1905: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/keys.c:2041: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/keys.c:2045: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/keys.c:2100: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-keys.o):/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/keys.c:2104: more undefined references to `pvPortMalloc' follow
collect2: error: ld returned 1 exit status
make[1]: *** [wolfcrypt/benchmark/benchmark] Erreur 1
make[1]: *** Attente des tâches non terminées....
src/.libs/libwolfssl.a(src_libwolfssl_la-random.o): In function `wc_InitRng':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/random.c:451: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-random.o): In function `wc_FreeRng':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/random.c:561: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-rsa.o): In function `wc_RsaPrivateDecrypt':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/rsa.c:456: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/rsa.c:464: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/rsa.c:473: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-rsa.o): In function `wc_RsaSSL_Verify':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/rsa.c:514: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/rsa.c:522: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/rsa.c:532: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-asn.o): In function `FreeAltNames':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:1714: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:1715: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-asn.o): In function `FreeNameSubtrees':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:1729: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-asn.o):/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:1730: more undefined references to `vPortFree' follow
src/.libs/libwolfssl.a(src_libwolfssl_la-asn.o): In function `GetKey':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:2009: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-asn.o): In function `GetName':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:2327: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:2333: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-asn.o): In function `DecodeAltNames':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:3630: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:3637: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:3641: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:3666: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:3673: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:3677: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-asn.o): In function `DecodeSubtree':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:4155: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:4163: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-asn.o): In function `ParseCert':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:4588: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:4600: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-asn.o): In function `MakeSigner':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:4775: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-asn.o): In function `FreeSigner':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:4798: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:4799: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:4806: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-asn.o): In function `FreeTmpRsas':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:5286: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-asn.o): In function `wc_RsaKeyToDer':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:5323: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-asn.o): In function `wc_SetIssuer':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:7856: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:7865: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-asn.o): In function `wc_SetSubject':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:7876: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:7884: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-asn.o): In function `wc_EccKeyToDer':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:8255: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:8264: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:8272: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:8276: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:8279: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:8293: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:8294: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:8305: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:8306: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-asn.o):/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/asn.c:8322: more undefined references to `vPortFree' follow
src/.libs/libwolfssl.a(src_libwolfssl_la-integer.o): In function `mp_init':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:129: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-integer.o): In function `mp_clear':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:167: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-integer.o): In function `mp_grow':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:337: undefined reference to `XREALLOC'
src/.libs/libwolfssl.a(src_libwolfssl_la-integer.o): In function `mp_exptmod_fast':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:1762: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:1796: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:1811: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:2051: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-integer.o): In function `fast_mp_montgomery_reduce':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:2126: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:2253: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-integer.o): In function `mp_init_size':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:2817: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-integer.o): In function `fast_s_mp_sqr':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:2870: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:2943: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-integer.o): In function `fast_s_mp_mul_digs':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:2989: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:3047: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-integer.o): In function `fast_s_mp_mul_high_digs':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:3713: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:3771: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-integer.o): In function `mp_rand_prime':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:4319: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:4333: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:4343: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:4349: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/integer.c:4355: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-ecc.o): In function `wc_ecc_new_point':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/ecc.c:1396: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/ecc.c:1410: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-ecc.o): In function `wc_ecc_del_point':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/ecc.c:1435: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-ecc.o): In function `ecc_mul2add':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/ecc.c:2036: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/ecc.c:2040: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/ecc.c:2042: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/ecc.c:2218: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/wolfcrypt/src/ecc.c:2219: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `wolfSSL_CTX_new':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:168: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:178: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `wolfSSL_new':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:206: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `wolfSSL_write':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:592: undefined reference to `__errno_location'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `wolfSSL_read_internal':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:616: undefined reference to `__errno_location'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `wolfSSL_CertManagerNew':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:1574: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `wolfSSL_CertManagerFree':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:1605: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `wolfSSL_CertPemToDer':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:1688: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `wolfSSL_KeyPemToDer':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:1804: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `AddCA':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2220: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `PemToDer':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2657: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `ProcessBuffer':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2789: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2813: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2818: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2849: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2859: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2863: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2871: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2876: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2884: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2892: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2898: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2904: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2966: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2976: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2982: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2989: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:2995: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o):/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:3000: more undefined references to `vPortFree' follow
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `ProcessFile':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:3623: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:3651: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `wolfSSL_CTX_load_verify_locations':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:3720: undefined reference to `opendir'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:3740: undefined reference to `readdir'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:3760: undefined reference to `closedir'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `wolfSSL_CertManagerVerify':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:3798: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:3813: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `wolfSSL_PemCertToDer':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:4076: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:4114: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:4119: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `wolfSSL_CTX_set_cipher_list':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:5509: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `wolfSSL_connect':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:5701: undefined reference to `__errno_location'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `wolfSSL_accept':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:5997: undefined reference to `__errno_location'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `wolfSSL_check_domain_name':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:6805: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:6808: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-ssl.o): In function `wolfSSL_UnloadCertsKeys':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:7272: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:7280: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/ssl.c:7288: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-tls.o): In function `wolfTLSv1_client_method':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/tls.c:3756: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-tls.o): In function `wolfTLSv1_1_client_method':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/tls.c:3767: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-tls.o): In function `wolfTLSv1_2_client_method':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/tls.c:3781: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-tls.o): In function `wolfSSLv23_client_method':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/tls.c:3794: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-tls.o): In function `wolfTLSv1_server_method':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/tls.c:3821: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-tls.o):/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/tls.c:3834: more undefined references to `pvPortMalloc' follow
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `SSL_CtxResourceFree':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:529: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:531: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:538: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:539: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:540: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o):/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:566: more undefined references to `vPortFree' follow
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `InitSSL':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:1863: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:1872: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:1887: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:1925: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `FreeArrays':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:1963: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:1966: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `SSL_ResourceFree':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:1983: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:1984: undefined reference to `vPortFree'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:1985: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o):/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:1986: more undefined references to `vPortFree' follow
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `GrowOutputBuffer':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:3127: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:3140: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `GrowInputBuffer':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:3170: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:3183: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `DoCertificate':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:4346: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:4572: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:4633: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `DoHandShakeMsg':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:5333: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:5371: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `SendCertificate':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:7876: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:7882: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `SendClientHello':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:9865: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:9871: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `DoServerKeyExchange':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:10496: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `SendClientKeyExchange':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:11945: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:11957: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `SendCertificateVerify':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:12321: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:12330: undefined reference to `vPortFree'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `SendServerKeyExchange':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:12909: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-internal.o): In function `DoClientKeyExchange':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/internal.c:15558: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-io.o): In function `LastError':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/io.c:255: undefined reference to `__errno_location'
src/.libs/libwolfssl.a(src_libwolfssl_la-io.o): In function `EmbedReceive':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/io.c:289: undefined reference to `recv'
src/.libs/libwolfssl.a(src_libwolfssl_la-io.o): In function `EmbedSend':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/io.c:346: undefined reference to `send'
src/.libs/libwolfssl.a(src_libwolfssl_la-keys.o): In function `SetKeys':
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/keys.c:1900: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/keys.c:1905: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/keys.c:2041: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/keys.c:2045: undefined reference to `pvPortMalloc'
/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/keys.c:2100: undefined reference to `pvPortMalloc'
src/.libs/libwolfssl.a(src_libwolfssl_la-keys.o):/home/kune/Bureau/WOLFSSL/wolfssl-3.7.0/src/keys.c:2104: more undefined references to `pvPortMalloc' follow
collect2: error: ld returned 1 exit status

I tried with libnosys and librdimon, i get the same result.
I think, i got the same mistake when i tried to compile the wolfSSL files together with my application code......
Best regards,
Thank you

3

(11 replies, posted in wolfSSL)

Hi Chrisc
I am interested in the second option you said (compile wolfSSL as a separate library project then link against. it). I have a Maxim 32550 with freeRtos (arm /cortex m3). i use codesourcery toolchain. I use ubuntu 14.04 64 bits
So i did this :

./configure LIBS="-lc -lm -lgcc -lrdimon"  CPPFLAGS="-I/usr/include/"  --disable-examples --enable-aesgcm --enable-camellia --enable-sha512 --enable-keygen --enable-certgen --enable-dsa --enable-ecc --host=arm-none-eabi CC= arm-none-eabi-gcc  AR=arm-none-eabi-ar RANLIB=arm-none-eabi-ranlib  --build= x86-linux-64 march=armv7 mcpu=cortex-m3

- i added CPPFLAGS because i had got these kinds of mistakes about headers like sys/socket.h , arpa/inet.h,..... missing (it seems that i got a warning : /usr/include not suitable for cross compilation)
- i added libs because i had got these errors: undefined reference to `_lseek', undefined reference to `_isatty' (i   think because of standard C library)
- i uncommented #define FreeRtos in the file configuration settings.h
At this point, when i launch make, i get these errors below who belong to freertos but when i comment it in settings.h, i get another mistakes.

#elif defined FREERTOS

    double current_time(int reset)
    {
        portTickType tickCount;

        (void) reset;

        /* tick count == ms, if configTICK_RATE_HZ is set to 1000 */
        tickCount = xTaskGetTickCount();
        return (double)tickCount / 1000;
    }
wolfcrypt/benchmark/benchmark.c: In function 'current_time':
wolfcrypt/benchmark/benchmark.c:1935: error: 'portTickType' undeclared (first use in this function)
wolfcrypt/benchmark/benchmark.c:1935: error: (Each undeclared identifier is reported only once
wolfcrypt/benchmark/benchmark.c:1935: error: for each function it appears in.)
wolfcrypt/benchmark/benchmark.c:1935: error: expected ';' before 'tickCount'
wolfcrypt/benchmark/benchmark.c:1940: error: 'tickCount' undeclared (first use in this function)
wolfcrypt/benchmark/benchmark.c:1940: warning: implicit declaration of function 'xTaskGetTickCount'
wolfcrypt/benchmark/benchmark.c:1940: warning: nested extern declaration of 'xTaskGetTickCount'
make[1]: *** [wolfcrypt/benchmark/benchmark.o] Erreur 1

What did i do wrong? if you could help me...
Thank you!

4

(5 replies, posted in wolfCrypt)

Hi Chrisc
Thank you very much for your answer.
It works fine!
Good job!

5

(5 replies, posted in wolfCrypt)

With OpenSSL i was able to obtain a DER formatted key like this but , i always get the same error. I did that:

byte   dsaKeyBuffer[4096] = {
"read DSA key\n"
"Private - Key : (1024 bit)\n"
"priv :\n"
    "25 : 38 : 3b : a1 : 19 : 75 : df : 9b : f5 : 72 : 53 : 4f : 39 : e1 : 1c :\n"
    "ec : 13 : 84 : 82 : 18\n"
    "pub :\n"
    "00 : e8 : 1f : 7c : b7 : c0 : 54 : 51 : a7 : 28 : 2d : 58 : 7c : de : d4 :\n"
    "5c : dd : d5 : 76 : 84 : 3c : 36 : 20 : c0 : c3 : 25 : d7 : 3a : 38 : e1 :\n"
    "54 : c8 : fd : 40 : 68 : 1a : 21 : 54 : 26 : 39 : 14 : bf : f6 : a3 : 9c :\n"
    "5e : d9 : 2b : f7 : c9 : 25 : ba : 00 : 09:cb : 7f : 0c : 4a : 24 : fd :\n"
    "15 : 16 : 15 : 48 : cd : 0b : 52 : 44 : 40 : 7b : 90 : 63 : 2b : 90 : 22 :\n"
    "c5 : 18 : 05 : 80 : 53 : af : 83 : 1f : 54 : e2 : b0 : a2 : 0b : 5a : 92 :\n"
    "24 : e1 : 62 : 28 : 3f : b7 : ca : b9 : 89 : d6 : a0 : b7 : ad : ae : 05 :\n"
    "e1 : c1 : 59 : 40 : ed : 4a : 1b : 68 : a7 : 7b : fb : c3 : 20 : 81 : ef :\n"
    "4b : f3 : 69 : 91 : b0 : ce : 3a : b0 : 38\n"
    "p :\n"
    "00 : f7 : 4b : f9 : bb : 15 : 98 : eb : dd : de : 1e : 4e : 71 : 88 : 85 :\n"
    "f2 : b7 : ba : e2 : 4a : da : 76 : 40 : cd : 69 : 48 : 9e : 83 : 7c : 11 :\n"
    "f7 : 65 : 31 : 78 : f5 : 25 : 2d : f7 : b7 : f8 : 52 : 3f : be : d8 : b6 :\n"
    "c5 : fe : 18 : 15 : 5b : b9 : d5 : 92 : 86 : bc : b2 : 17 : 7c : d8 : b0 :\n"
    "be : a0 : 7c : f2 : d5 : 73 : 7a : 58 : 8f : 8d : e5 : 4a : 00 : 99 : 83 :\n"
    "4a : c0 : 9e : 16 : 09:a1 : 10 : 34 : d5 : 19 : bb : 63 : e3 : dd : 83 :\n"
    "74 : 7f : 10 : ca : 73 : 75 : ee : 31 : 4a : dd : 9f : e0 : 02 : 6a : 9d :\n"
    "ee : b2 : 4b : a7 : 6b : 2a : 6c : c7 : 86 : 77 : e8 : 04 : 15 : dc : 92 :\n"
    "b4 : 7a : 29 : 1f : 4e : 83 : 63 : 85 : 55\n"
    "q :\n"
    "00 : d2 : 05 : e4 : 73 : fb : c1 : 99 : c5 : dc : 68 : a4 : 8d : 92 : 27 :\n"
    "3d : e2 : 52 : 5f : 89 : 8b\n"
    "g :\n"
    "00 : aa : 21 : 02 : 09:43:6e : fb : a2 : 54 : 14 : 85 : 0a : f4 : 28 :\n"
    "7c : cb : cc : db : f5 : 1e : a2 : 18 : a9 : 21 : de : 88 : 88 : 33 : 8c :\n"
    "2e : eb : 8d : a3 : f0 : 1d : c8 : 8f : f6 : 7e : f8 : cf : 12 : f5 : b4 :\n"
    "a1 : 11 : 6f : 0c : d4 : f0 : 06 : ad : c4 : fc : 14 : 45 : c7 : 94 : 15 :\n"
    "bc : 19 : 4b : ae : ef : 93 : 6a : 4f : cc : 14 : d8 : 47 : 8b : 39 : 66 :\n"
    "87 : 02 : d4 : 28 : 0a : b8 : ee : 09:37:f4:00 : a0 : 04 : a7 : 79 :\n"
    "a7 : d2 : 3c : f7 : 34 : 43 : 56 : 8e : d0 : 7c : c2 : d8 : 4d : 0f : 89 :\n"
    "ed : 14 : c1 : 2c : 9c : 4c : 19 : 9b : 9e : dc : 53 : 09:9f:df:2d :\n"
    "f0 : 0c : 27 : 54 : 3a : 77 : 14 : 2d : de"
    

};

6

(5 replies, posted in wolfCrypt)

Hi Chris!
Thank you for your answer...
I guess that i don't have a DER-formatted DSA key so it returns negative number (-140) instead of 0 so i was wondering how can i fill the buffer with DER-formatted DSA key because if i fill it with a normal string, it returns negative number. I have done some researches about DER format but i can't figure out exactly how to fill this buffer with a DER-formatted DSA key so wc_DsaPrivateKeyDecode() will return 0
Sam

7

(5 replies, posted in wolfCrypt)

I try to apply an example from using  a DSA to sign a message with wolfssl and  i have encountered a few problems

DsaKey key;

byte   message[] = { // message data to sign }

byte   dsaKeyBuffer[] = { // holds the raw data from the DSA key, maybe from a file like dsa512.der }

=>I have a file with extension .der, How can i fill the dsaKeyBuffer  from this file? I'm on FreeRtos. When i call this function below, i get an error. It does not return 0.

int u=wc_DsaPrivateKeyDecode(dsaKeyBuffer, &idx, &key, sizeof(dsaKeyBuffer));

Thank you