Topic: user_settings.h dedicated for hashing on NXP QorIQ T2080

Dear communauty,

I'm trying to test wolfssl on a specific platform : NXP QorIQ T2080.
The role is to create the minimal lib as possible to test only these 2 hashing functions : hmac+sha256.


I've created the folowing "user_settings.h".
Do I have well configured, for the minimal usage I need?


/* Example custom user settings for wolfSSL */

#ifndef WOLFSSL_USER_SETTINGS_H
#define WOLFSSL_USER_SETTINGS_H


/* ------------------------------------------------------------------------- */
/* Platform */
/* ------------------------------------------------------------------------- */
#undef  WOLFSSL_GENERAL_ALIGNMENT
#define WOLFSSL_GENERAL_ALIGNMENT   4

#undef NO_INLINE
#define NO_INLINE

#undef  SINGLE_THREADED
#define SINGLE_THREADED

#undef  WOLFSSL_SMALL_STACK
#define WOLFSSL_SMALL_STACK

/* ------------------------------------------------------------------------- */
/* Math Configuration */
/* ------------------------------------------------------------------------- */

#ifndef SIZEOF_LONG
    #define SIZEOF_LONG 4
#endif

#ifndef SIZEOF_LONG_LONG
    #define SIZEOF_LONG_LONG 8
#endif

#undef USE_FAST_MATH
#define USE_FAST_MATH

#ifdef USE_FAST_MATH
    #undef  TFM_TIMING_RESISTANT

    /* Optimizations (TFM_ARM, TFM_ASM or none) */
    #undef TFM_ARM

    #undef TFM_ASM
#endif

/* ------------------------------------------------------------------------- */
/* Crypto */
/* ------------------------------------------------------------------------- */

// Disable TLS/SSL code
#undef WOLFCRYPT_ONLY
#define WOLFCRYPT_ONLY

/* ------------------------------------------------------------------------- */
/* Hashing */
/* ------------------------------------------------------------------------- */
#undef NO_SHA256
#define NO_SHA256

#undef NO_HMAC
#define NO_HMAC

/* ------------------------------------------------------------------------- */
/* Benchmark / Test */
/* ------------------------------------------------------------------------- */
/* Use reduced benchmark / test sizes */
#undef  BENCH_EMBEDDED
#define BENCH_EMBEDDED

#undef  USE_CERT_BUFFERS_2048
#define USE_CERT_BUFFERS_2048

#undef  USE_CERT_BUFFERS_256
#define USE_CERT_BUFFERS_256


/* ------------------------------------------------------------------------- */
/* Debugging */
/* ------------------------------------------------------------------------- */
#undef  NO_CRYPT_TEST
#define NO_CRYPT_TEST

#undef  NO_CRYPT_BENCHMARK

#endif /* WOLFSSL_USER_SETTINGS_H */


Then, I've types the following commands :

$ make clean

$ ./configure --enable-md5=no --enable-poly1305=no --enable-chacha=no --enable-aesgcm=no --enable-aes=no -enable-eccshamir=no --enable-ecc=no --enable-sha512=no --enable-sha224=no --enable-sha3=no --enable-base64encode=no --enable-sha=no --enable-rsa=no --enable-des3=no --enable-oldtls=no --enable-hashdrbg=no --enable-dh=no --enable-tlsv12=no  --enable-asn=no --enable-tlsv12=no --enable-cryptonly

$ make


Thanks in advance for your help.

Share

Re: user_settings.h dedicated for hashing on NXP QorIQ T2080

Hi lupusn00b,

The user_settings.h file is only used when `WOLFSSL_USER_SETTINGS` is defined and is usually used when building the wolfSSL/wolfCrypt sources directly. You asked about only having HMAC+SHA256. It looks like yours is disabling HMAC and SHA256. You should not have the NO_HMAC and NO_SHA256 defined. Also there are a bunch of other defines you'll want for disabling other algorithms.

Here is a good tip: When you run ./configure with your desired options it generates a file in `wolfssl/options.h`. You can use this file as a template for your user_settings.h.

Thanks,
David Garske, wolfSSL

Share