1

(7 replies, posted in wolfSSL)

I compiled rsa key generation code and linked wolfssl lib in 'Release' mode.
EXE file is about 50Kb. Magic smile

Really appreciate your help, Kaleb. You're great!

2

(7 replies, posted in wolfSSL)

Hmm I dont see my attachment. Here s a link for it:
https://postimg.org/image/a7ifvslg5/

3

(7 replies, posted in wolfSSL)

Thanks for your answer!

Yeah, i need only RSA key gen and RSA encrypt/decrypt, no client/server stuff and other crypto algorithms.
I tried to insert your code in config.h, recompiled "wolfssl" project, but lib size is still big - 968 Kb. I dont understand this.
Here my "user_settings.h" file:

#ifndef _WIN_USER_SETTINGS_H_
#define _WIN_USER_SETTINGS_H_

/* Verify this is Windows */
#ifndef _WIN32
#error This user_settings.h header is only designed for Windows
#endif

/* Configurations */
#if defined(HAVE_FIPS)
    /* FIPS */
    #define OPENSSL_EXTRA
    #define HAVE_THREAD_LS
    #define WOLFSSL_KEY_GEN
    #define HAVE_AESGCM
    #define HAVE_HASHDRBG
    #define WOLFSSL_SHA384
    #define WOLFSSL_SHA512
    #define NO_PSK
    #define NO_HC128
    #define NO_RC4
    #define NO_RABBIT
    #define NO_DSA
    #define NO_MD4
#elif defined(WOLFSSL_LIB)
    /* The lib */

    //#define OPENSSL_EXTRA
    //#define WOLFSSL_RIPEMD
    //#define WOLFSSL_SHA512
    #define NO_PSK
    //#define HAVE_EXTENDED_MASTER
    //#define WOLFSSL_SNIFFER
    
//"WOLFSSL_LIB" section.

#undef  TFM_TIMING_RESISTANT
//#define TFM_TIMING_RESISTANT

/* for maximum security */
#undef  WC_RSA_BLINDING
//#define WC_RSA_BLINDING

#undef  NO_DSA
#define NO_DSA

/* saves some space, reference <wolfssl-root>/wolfssl/wolfcrypt/error-crypt.h
* for determining an error codes meaning instead.
*/
#undef  NO_ERROR_STRINGS
#define NO_ERROR_STRINGS

#undef  NO_WOLFSSL_MEMORY
#define NO_WOLFSSL_MEMORY

#undef  NO_DH
#define NO_DH

#undef  NO_AES
#define NO_AES

#undef  NO_CODING
#define NO_CODING

#undef  WOLFSSL_BASE64_ENCODE
#define WOLFSSL_BASE64_ENCODE

#undef  NO_RC4
#define NO_RC4

#undef  NO_MD5
#define NO_MD5

#undef  NO_SHA
#define NO_SHA

#undef  NO_OLD_TLS
#define NO_OLD_TLS

#undef  NO_HC128
#define NO_HC128

#undef  NO_RABBIT
#define NO_RABBIT

#undef  HAVE_HASHDRBG
//#define HAVE_HASHDRBG

#undef  NO_MD4
#define NO_MD4

#undef  NO_PWDBASED
#define NO_PWDBASED

#undef  WOLFCRYPT_ONLY
#define WOLFCRYPT_ONLY

#undef  USE_FAST_MATH
#define USE_FAST_MATH
    

#else
    /* The servers and clients */
    #define OPENSSL_EXTRA
    #define NO_PSK
#endif /* HAVE_FIPS */

#endif /* _WIN_USER_SETTINGS_H_ */

I also attached compilation result screenshot.

4

(7 replies, posted in wolfSSL)

Hi!

I need as small as possible build of wolfssl.lib (Windows, Visual Studio) with full RSA support (key-pair generation, encryption/decryption). Without any build flags and additional definitions the lib file size was about 1.8 Mb. I used some flags from manual such as NO_DSA and size became ~1.4MB.
I also saw in manual that its possible to get a 20-100 Kb version somehow. Or its only PSK version?
What i have to do to reduce the size < 200 Kb at least?



Many thanks to your answers)