Go to the documentation of this file.
8 #ifndef _CONFIG_DEFINED
10 #define _CONFIG_DEFINED
35 #define CONFIG_NO_CERTIFICATES
36 #define CONFIG_NO_DEVICES
37 #define CONFIG_NO_ENVELOPES
38 #define CONFIG_NO_KEYSETS
39 #define CONFIG_NO_SESSIONS
40 #if defined( _WIN32 ) && defined( _MSC_VER ) && ( _MSC_VER == 1200 )
41 #define NO_OBSCURE_FEATURES
47 #if defined( __BEOS__ ) || defined( __CHORUS__ ) || \
48 ( defined( __ECOS__ ) && defined( CYGPKG_NET ) ) || \
49 defined( __MVS__ ) || defined( __PALMOS__ ) || defined( __RTEMS__ ) || \
50 defined( __SYMBIAN32__ ) || defined( __TANDEM_NSK__ ) || \
51 defined( __TANDEM_OSS__ ) || defined( __UNIX__ ) || \
52 defined( __WINDOWS__ )
76 #ifndef CONFIG_CONSERVE_MEMORY
95 #define USE_DEPRECATED_ALGORITHMS
97 #ifndef CONFIG_CONSERVE_MEMORY
98 #define USE_PATENTED_ALGORITHMS
99 #define USE_OBSCURE_ALGORITHMS
104 #ifdef USE_PATENTED_ALGORITHMS
116 #ifdef USE_DEPRECATED_ALGORITHMS
123 #ifdef USE_OBSCURE_ALGORITHMS
126 #define USE_HMAC_RIPEMD160
127 #define USE_RIPEMD160
134 #if !defined( NDEBUG ) && 0
150 #define USE_HMAC_SHA2
151 #if defined( __UNIX__ ) && defined( _CRAY )
158 #if defined( __MSDOS__ )
173 #if defined( USE_DH ) || defined( USE_DSA ) || defined( USE_ELGAMAL ) || \
174 defined( USE_RSA ) || defined( USE_ECDH ) || defined( USE_ECDSA )
184 #ifndef CONFIG_NO_CERTIFICATES
192 #define USE_CERTIFICATES
222 #if !defined( USE_CERTLEVEL_PKIX_FULL ) && \
223 !defined( USE_CERTLEVEL_PKIX_PARTIAL ) && \
224 !defined( USE_CERTLEVEL_STANDARD )
225 #define USE_CERTLEVEL_PKIX_PARTIAL
227 #if defined( USE_CERTLEVEL_PKIX_FULL ) && !defined( USE_CERTLEVEL_PKIX_PARTIAL )
229 #define USE_CERTLEVEL_PKIX_PARTIAL
239 #define USE_CERT_OBSCURE
240 #define USE_CMSATTR_OBSCURE
241 #define USE_CERT_OBSOLETE
249 #define USE_CERT_DNSTRING
252 #if defined( USE_CERTIFICATES ) && !defined( USE_PKC )
253 #error Use of certificates requires use of PKC algorithms to be enabled
264 #ifndef CONFIG_NO_DEVICES
269 #if defined( __WIN32__ )
273 #if !defined( NDEBUG )
283 #if defined( USE_PKCS11 ) || defined( USE_CRYPTOAPI )
295 #ifndef CONFIG_NO_ENVELOPES
300 #if !defined( __MSDOS__ ) && !defined( __WIN16__ )
301 #define USE_COMPRESSION
307 #if defined( USE_PGP ) && !defined( USE_ELGAMAL )
313 #if defined( USE_CMS ) || defined( USE_PGP )
314 #define USE_ENVELOPES
317 #if defined( USE_ENVELOPES ) && !defined( USE_PKC )
318 #error Use of envelopes requires use of PKC algorithms to be enabled
329 #ifndef CONFIG_NO_KEYSETS
334 #if defined( __WIN32__ ) && !defined( NT_DRIVER )
335 #if !( defined( __BORLANDC__ ) && ( __BORLANDC__ < 0x550 ) )
342 #if defined( USE_ODBC ) || defined( USE_DATABASE ) || \
343 defined( USE_DATABASE_PLUGIN )
354 #if defined( __WIN32__ ) && \
355 !( defined( NT_DRIVER ) || defined( WIN_DDK ) || \
356 defined( __BORLANDC__ ) ) && 0
359 #if defined( HAS_LDAP ) && 0
386 #if defined( USE_PGPKEYS ) || defined( USE_PKCS15 )
388 #error Use of PGP/PKCS #15 keysets requires use of PKC algorithms to be enabled
394 #if defined( USE_DBMS ) || defined( USE_HTTP ) || defined( USE_LDAP ) || \
395 defined( USE_PGPKEYS ) || defined( USE_PKCS12 ) || defined( USE_PKCS15 )
407 #ifndef CONFIG_NO_SESSIONS
416 #define USE_CERTSTORE
429 #if defined( USE_CERTSTORE ) && !defined( USE_CERTIFICATES )
430 #error Use of a certificate store requires use of certificates to be enabled
432 #if defined( USE_CMP ) && !defined( USE_CERTREQ )
433 #error Use of CMP requires use of certificate requests to be enabled
435 #if defined( USE_RTCS ) && !( defined( USE_CERTVAL ) && defined( USE_CMSATTR ) )
437 #error Use of RTCS requires use of certificate validation and CMS attributes to be enabled
439 #if defined( USE_OCSP ) && !defined( USE_CERTREV )
440 #error Use of OCSP requires use of certificate revocation to be enabled
442 #if defined( USE_SCEP ) && !( defined( USE_CERTREQ ) && defined( USE_CMSATTR ) )
445 #error Use of SCEP requires use of certificate requests and CMS attributes to be enabled
447 #if defined( USE_SSL ) && !defined( USE_CERTIFICATES )
448 #error Use of SSL requires use of certificates to be enabled
450 #if defined( USE_TSP ) && !defined( USE_CMSATTR )
452 #error Use of TSP requires use of CMS attributes to be enabled
457 #if defined( USE_CMP ) || defined( USE_RTCS ) || defined( USE_OCSP ) || \
458 defined( USE_SCEP ) || defined( USE_SSH1 ) || defined( USE_SSH ) || \
459 defined( USE_SSL ) || defined( USE_TSP )
463 #if defined( USE_SESSIONS ) && !defined( USE_PKC )
464 #error Use of secure sessions requires use of PKC algorithms to be enabled
472 #define USE_SSH_EXTENDED
485 #if defined( __AMX__ ) || defined( __BEOS__ ) || defined( __CHORUS__ ) || \
486 defined( __ECOS__ ) || defined( __EmbOS__ ) || defined( __FreeRTOS__ ) || \
487 defined( __ITRON__ ) || defined( __MQX__ ) || defined( __OS2__ ) || \
488 defined( __PALMOS__ ) || defined( __RTEMS__ ) || defined( __ThreadX__ ) || \
489 defined( __TKernel__ ) || defined( __UCOS__ ) || defined( __VDK__ ) || \
490 defined( __VXWORKS__ ) || defined( __WIN32__ ) || defined( __WINCE__ ) || \
491 defined( __XMK__ ) || defined( __VXWORKS__ )
496 #if !( ( defined( __QNX__ ) && ( OSVERSION <= 4 ) ) || \
497 ( defined( sun ) && ( OSVERSION <= 4 ) ) || defined( __TANDEM ) )
509 #if defined( __BEOS__ ) || defined( __ECOS__ ) || defined( __MSDOS32__ ) || \
510 defined( __OS2__ ) || defined( __RTEMS__ ) || \
511 ( ( defined( __WIN32__ ) || defined( __WINCE__ ) ) && \
512 !( defined( __BORLANDC__ ) && ( __BORLANDC__ < 0x500 ) ) ) || \
514 #define USE_WIDECHARS
518 #if !( ( defined( __APPLE__ ) && OSVERSION < 7 ) || \
519 defined( __bsdi__ ) || defined( __OpenBSD__ ) || \
520 ( defined( __SCO_VERSION__ ) && OSVERSION < 5 ) || \
521 ( defined( sun ) && OSVERSION < 5 ) || \
522 defined( __SYMBIAN32__ ) )
523 #define USE_WIDECHARS
535 #if defined( __AMX__ ) || defined( __CHORUS__ ) || defined( __ECOS__ ) || \
536 defined( __EmbOS__ ) || defined( __FreeRTOS__ ) || defined( __ITRON__ ) || \
537 defined( __MQX__ ) || defined( __RTEMS__ ) || defined( __ThreadX__ ) || \
538 defined( __TKernel__ ) || defined( __UCOS__ ) || defined( __VDK__ ) || \
539 defined( __VXWORKS__ ) || defined( __XMK__ )
540 #define USE_EMBEDDED_OS
547 #ifdef USE_EMBEDDED_OS
548 #define CONFIG_RANDSEED
557 #if defined( USE_TCP ) && \
558 ( defined( __WINDOWS__ ) || defined( __UNIX__ ) ) && 0
571 #if defined( CONFIG_PROFILE_SMIME ) || defined( CONFIG_PROFILE_SSH ) || \
572 defined( CONFIG_PROFILE_SSL )
578 #undef USE_HMAC_RIPEMD160
615 #ifdef CONFIG_PROFILE_SSL
624 #undef USE_COMPRESSION
634 #ifdef CONFIG_PROFILE_SSH
639 #undef USE_CERTIFICATES
644 #undef USE_COMPRESSION
654 #ifdef CONFIG_PROFILE_SMIME
688 #if defined( _WIN32 ) && defined( _MSC_VER ) && ( _MSC_VER == 1200 ) && \
689 !defined( NDEBUG ) && !defined( NO_OBSCURE_FEATURES ) && \
690 !( defined( __WINCE__ ) || defined( CONFIG_PROFILE_SMIME ) || \
691 defined( CONFIG_PROFILE_SSH ) || defined( CONFIG_PROFILE_SSL ) )
692 #define USE_CERT_DNSTRING
693 #define USE_CRYPTOAPI
702 #define USE_SSH_EXTENDED
710 #if ( defined( _MSC_VER ) && defined( _PREFAST_ ) ) || \
711 ( defined( __clang_analyzer__ ) )
712 #define USE_CERT_DNSTRING
720 #define USE_SSH_EXTENDED
726 #if defined( CONFIG_SUITEB_TESTS ) && !defined( CONFIG_SUITEB )
727 #define CONFIG_SUITEB
729 #if defined( CONFIG_SUITEB )