user_settings.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. #ifndef _WIN_USER_SETTINGS_H_
  2. #define _WIN_USER_SETTINGS_H_
  3. /* Set the following to 1 for WCv5.0 build. */
  4. #if 0
  5. #undef HAVE_FIPS_VERSION
  6. #define HAVE_FIPS_VERSION 5
  7. #undef HAVE_FIPS_VERSION_MINOR
  8. #define HAVE_FIPS_VERSION_MINOR 1
  9. #endif
  10. /* For FIPS Ready, uncomment the following: */
  11. /* #define WOLFSSL_FIPS_READY */
  12. #ifdef WOLFSSL_FIPS_READY
  13. #undef HAVE_FIPS_VERSION
  14. #define HAVE_FIPS_VERSION 5
  15. #undef HAVE_FIPS_VERSION_MINOR
  16. #define HAVE_FIPS_VERSION_MINOR 2
  17. #endif
  18. /* Verify this is Windows */
  19. #ifndef _WIN32
  20. #error This user_settings.h header is only designed for Windows
  21. #endif
  22. /* Configurations */
  23. #if defined(HAVE_FIPS)
  24. /* FIPS */
  25. #define OPENSSL_EXTRA
  26. #define HAVE_THREAD_LS
  27. #define WOLFSSL_KEY_GEN
  28. #define HAVE_AESGCM
  29. #define HAVE_HASHDRBG
  30. #define WOLFSSL_SHA384
  31. #define WOLFSSL_SHA512
  32. #define NO_PSK
  33. #define NO_RC4
  34. #define NO_DSA
  35. #define NO_MD4
  36. #if defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 2)
  37. #define WOLFSSL_SHA224
  38. #define WOLFSSL_SHA3
  39. #define WC_RSA_PSS
  40. #define WC_RSA_NO_PADDING
  41. #define HAVE_ECC
  42. #define HAVE_ECC384
  43. #define HAVE_ECC521
  44. #define HAVE_SUPPORTED_CURVES
  45. #define HAVE_TLS_EXTENSIONS
  46. #define ECC_SHAMIR
  47. #define HAVE_ECC_CDH
  48. #define ECC_TIMING_RESISTANT
  49. #define TFM_TIMING_RESISTANT
  50. #define WOLFSSL_AES_COUNTER
  51. #define WOLFSSL_AES_DIRECT
  52. #define HAVE_AES_ECB
  53. #define HAVE_AESCCM
  54. #define WOLFSSL_CMAC
  55. #define HAVE_HKDF
  56. #define WOLFSSL_VALIDATE_ECC_IMPORT
  57. #define WOLFSSL_VALIDATE_FFC_IMPORT
  58. #define HAVE_FFDHE_Q
  59. #define HAVE_PUBLIC_FFDHE
  60. #define WOLFSSL_AESNI
  61. #define HAVE_INTEL_RDSEED
  62. #define FORCE_FAILURE_RDSEED
  63. #endif /* FIPS v2 */
  64. #if defined(HAVE_FIPS_VERSION) && (HAVE_FIPS_VERSION >= 5)
  65. #undef WOLFSSL_AESNI /* Comment out if using PAA */
  66. #undef HAVE_INTEL_RDSEED
  67. #undef FORCE_FAILURE_RDSEED
  68. #undef HAVE_PUBLIC_FFDHE
  69. #define NO_DES
  70. #define NO_DES3
  71. #define NO_MD5
  72. #define NO_OLD_TLS
  73. #define WOLFSSL_TLS13
  74. #define HAVE_TLS_EXTENSIONS
  75. #define HAVE_SUPPORTED_CURVES
  76. #define GCM_TABLE_4BIT
  77. #define WOLFSSL_NO_SHAKE256
  78. #define WOLFSSL_VALIDATE_ECC_KEYGEN
  79. #define WOLFSSL_ECDSA_SET_K
  80. #define WOLFSSL_WOLFSSH
  81. #define WOLFSSL_PUBLIC_MP
  82. #define WC_RNG_SEED_CB
  83. #define TFM_ECC256
  84. #define ECC_USER_CURVES
  85. #define HAVE_ECC192
  86. #define HAVE_ECC224
  87. #define HAVE_ECC256
  88. #define HAVE_ECC384
  89. #define HAVE_ECC521
  90. #define HAVE_FFDHE_2048
  91. #define HAVE_FFDHE_3072
  92. #define HAVE_FFDHE_4096
  93. #define HAVE_FFDHE_6144
  94. #define HAVE_FFDHE_8192
  95. #define WOLFSSL_AES_OFB
  96. #define FP_MAX_BITS 16384
  97. #endif /* FIPS v5 */
  98. #else
  99. /* Enables blinding mode, to prevent timing attacks */
  100. #define WC_RSA_BLINDING
  101. #if defined(WOLFSSL_LIB)
  102. /* The lib */
  103. #define OPENSSL_EXTRA
  104. #define WOLFSSL_RIPEMD
  105. #define NO_PSK
  106. #define HAVE_EXTENDED_MASTER
  107. #define WOLFSSL_SNIFFER
  108. #define HAVE_SECURE_RENEGOTIATION
  109. #define HAVE_AESGCM
  110. #define WOLFSSL_SHA384
  111. #define WOLFSSL_SHA512
  112. #define HAVE_SUPPORTED_CURVES
  113. #define HAVE_TLS_EXTENSIONS
  114. #define HAVE_ECC
  115. #define ECC_SHAMIR
  116. #define ECC_TIMING_RESISTANT
  117. #else
  118. /* The servers and clients */
  119. #define OPENSSL_EXTRA
  120. #define NO_PSK
  121. #endif
  122. #endif /* HAVE_FIPS */
  123. #endif /* _WIN_USER_SETTINGS_H_ */