PolarSSL v1.1.4
config.h File Reference

Configuration options (set of defines) More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

SECTION: System support

This section sets system specific settings.

#define POLARSSL_HAVE_ASM
 The compiler has support for asm()
SECTION: PolarSSL feature support

This section sets support for features that are or are not needed within the modules that are enabled.

#define POLARSSL_CIPHER_MODE_CFB
 Enable Cipher Feedback mode (CFB) for symmetric ciphers.
#define POLARSSL_CIPHER_MODE_CTR
 Enable Counter Block Cipher mode (CTR) for symmetric ciphers.
#define POLARSSL_DEBUG_MSG
 Requires: POLARSSL_DEBUG_C.
#define POLARSSL_GENPRIME
 Requires: POLARSSL_BIGNUM_C, POLARSSL_RSA_C.
#define POLARSSL_FS_IO
 Enable functions that use the filesystem.
#define POLARSSL_PKCS1_V21
 Requires: POLARSSL_MD_C, POLARSSL_RSA_C.
#define POLARSSL_SELF_TEST
 Enable the checkup functions (*_self_test).
SECTION: PolarSSL modules

This section enables or disables entire modules in PolarSSL

#define POLARSSL_AES_C
 Enable the AES block cipher.
#define POLARSSL_ARC4_C
 Enable the ARCFOUR stream cipher.
#define POLARSSL_ASN1_PARSE_C
 Enable the generic ASN1 parser.
#define POLARSSL_BASE64_C
 Enable the Base64 module.
#define POLARSSL_BIGNUM_C
 Enable the multo-precision integer library.
#define POLARSSL_CAMELLIA_C
 Enable the Camellia block cipher.
#define POLARSSL_CERTS_C
 Enable the test certificates.
#define POLARSSL_CIPHER_C
 Enable the generic cipher layer.
#define POLARSSL_CTR_DRBG_C
 Enable the CTR_DRBG AES-256-based random generator.
#define POLARSSL_DEBUG_C
 Enable the debug functions.
#define POLARSSL_DES_C
 Enable the DES block cipher.
#define POLARSSL_DHM_C
 Enable the Diffie-Hellman-Merkle key exchange.
#define POLARSSL_ENTROPY_C
 Enable the platform-specific entropy code.
#define POLARSSL_ERROR_C
 Enable error code to error string conversion.
#define POLARSSL_HAVEGE_C
 Enable the HAVEGE random generator.
#define POLARSSL_MD_C
 Enable the generic message digest layer.
#define POLARSSL_MD5_C
 Enable the MD5 hash algorithm.
#define POLARSSL_NET_C
 Enable the TCP/IP networking routines.
#define POLARSSL_PADLOCK_C
 Enable VIA Padlock support on x86.
#define POLARSSL_PEM_C
 Enable PEM decoding.
#define POLARSSL_RSA_C
 Enable the RSA public-key cryptosystem.
#define POLARSSL_SHA1_C
 Enable the SHA1 cryptographic hash algorithm.
#define POLARSSL_SHA2_C
 Enable the SHA-224 and SHA-256 cryptographic hash algorithms.
#define POLARSSL_SHA4_C
 Enable the SHA-384 and SHA-512 cryptographic hash algorithms.
#define POLARSSL_SSL_CLI_C
 Enable the SSL/TLS client code.
#define POLARSSL_SSL_SRV_C
#define POLARSSL_SSL_TLS_C
 Enable the generic SSL/TLS code.
#define POLARSSL_TIMING_C
 Enable the portable timing interface.
#define POLARSSL_VERSION_C
 Enable run-time version information.
#define POLARSSL_X509_PARSE_C
 Enable X.509 certificate parsing.
#define POLARSSL_XTEA_C
 Enable the XTEA block cipher.

Detailed Description

Configuration options (set of defines)

Copyright (C) 2006-2011, Brainspark B.V.

This file is part of PolarSSL (http://www.polarssl.org) Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>

All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

This set of compile-time options may be used to enable or disable features selectively, and reduce the global memory footprint.

Definition in file config.h.


Define Documentation

#define POLARSSL_AES_C

Enable the AES block cipher.

Module: library/aes.c Caller: library/ssl_tls.c library/pem.c library/ctr_drbg.c

This module enables the following ciphersuites: SSL_RSA_AES_128_SHA SSL_RSA_AES_256_SHA SSL_EDH_RSA_AES_256_SHA

Definition at line 242 of file config.h.

#define POLARSSL_ARC4_C

Enable the ARCFOUR stream cipher.

Module: library/arc4.c Caller: library/ssl_tls.c

This module enables the following ciphersuites: SSL_RSA_RC4_128_MD5 SSL_RSA_RC4_128_SHA

Definition at line 256 of file config.h.

Enable the generic ASN1 parser.

Module: library/asn1.c Caller: library/x509parse.c

Definition at line 266 of file config.h.

Enable the Base64 module.

Module: library/base64.c Caller: library/pem.c

This module is required for PEM support (required by X.509).

Definition at line 278 of file config.h.

Enable the multo-precision integer library.

Module: library/bignum.c Caller: library/dhm.c library/rsa.c library/ssl_tls.c library/x509parse.c

This module is required for RSA and DHM support.

Definition at line 293 of file config.h.

Enable the Camellia block cipher.

Module: library/camellia.c Caller: library/ssl_tls.c

This module enabled the following cipher suites: SSL_RSA_CAMELLIA_128_SHA SSL_RSA_CAMELLIA_256_SHA SSL_EDH_RSA_CAMELLIA_256_SHA

Definition at line 308 of file config.h.

Enable the test certificates.

Module: library/certs.c Caller:

This module is used for testing (ssl_client/server).

Definition at line 320 of file config.h.

Enable the generic cipher layer.

Module: library/cipher.c Caller:

Uncomment to enable generic cipher wrappers.

Definition at line 332 of file config.h.

Enable Cipher Feedback mode (CFB) for symmetric ciphers.

Definition at line 123 of file config.h.

Enable Counter Block Cipher mode (CTR) for symmetric ciphers.

Definition at line 130 of file config.h.

Enable the CTR_DRBG AES-256-based random generator.

Module: library/ctr_drbg.c Caller:

Requires: POLARSSL_AES_C

This module provides the CTR_DRBG AES-256 random number generator.

Definition at line 346 of file config.h.

Enable the debug functions.

Module: library/debug.c Caller: library/ssl_cli.c library/ssl_srv.c library/ssl_tls.c

This module provides debugging functions.

Definition at line 360 of file config.h.

Requires: POLARSSL_DEBUG_C.

Enable all SSL/TLS debugging messages.

Definition at line 139 of file config.h.

#define POLARSSL_DES_C

Enable the DES block cipher.

Module: library/des.c Caller: library/ssl_tls.c

This module enables the following ciphersuites: SSL_RSA_DES_168_SHA SSL_EDH_RSA_DES_168_SHA

Definition at line 374 of file config.h.

#define POLARSSL_DHM_C

Enable the Diffie-Hellman-Merkle key exchange.

Module: library/dhm.c Caller: library/ssl_cli.c library/ssl_srv.c

This module enables the following ciphersuites: SSL_EDH_RSA_DES_168_SHA SSL_EDH_RSA_AES_256_SHA SSL_EDH_RSA_CAMELLIA_256_SHA

Definition at line 390 of file config.h.

Enable the platform-specific entropy code.

Module: library/entropy.c Caller:

Requires: POLARSSL_SHA4_C

This module provides a generic entropy pool

Definition at line 404 of file config.h.

Enable error code to error string conversion.

Module: library/error.c Caller:

This module enables err_strerror().

Definition at line 416 of file config.h.

#define POLARSSL_FS_IO

Enable functions that use the filesystem.

Definition at line 155 of file config.h.

Requires: POLARSSL_BIGNUM_C, POLARSSL_RSA_C.

Enable the RSA prime-number generation code.

Definition at line 148 of file config.h.

The compiler has support for asm()

Uncomment to enable the use of assembly code.

Requires support for asm() in compiler.

Used in: library/timing.c library/padlock.c include/polarssl/bn_mul.h

Definition at line 87 of file config.h.

Enable the HAVEGE random generator.

Module: library/havege.c Caller:

Requires: POLARSSL_TIMING_C

This module enables the HAVEGE random number generator.

Definition at line 430 of file config.h.

#define POLARSSL_MD5_C

Enable the MD5 hash algorithm.

Module: library/md5.c Caller: library/ssl_tls.c library/x509parse.c

This module is required for SSL/TLS and X.509.

Definition at line 481 of file config.h.

#define POLARSSL_MD_C

Enable the generic message digest layer.

Module: library/md.c Caller:

Uncomment to enable generic message digest wrappers.

Definition at line 442 of file config.h.

#define POLARSSL_NET_C

Enable the TCP/IP networking routines.

Module: library/net.c Caller:

This module provides TCP/IP networking routines.

Definition at line 493 of file config.h.

Enable VIA Padlock support on x86.

Module: library/padlock.c Caller: library/aes.c

This modules adds support for the VIA PadLock on x86.

Definition at line 505 of file config.h.

#define POLARSSL_PEM_C

Enable PEM decoding.

Module: library/pem.c Caller: library/x509parse.c

Requires: POLARSSL_BASE64_C

This modules adds support for decoding PEM files.

Definition at line 519 of file config.h.

Requires: POLARSSL_MD_C, POLARSSL_RSA_C.

Enable support for PKCS#1 v2.1 encoding. This enables support for RSAES-OAEP and RSASSA-PSS operations.

Definition at line 189 of file config.h.

#define POLARSSL_RSA_C

Enable the RSA public-key cryptosystem.

Module: library/rsa.c Caller: library/ssl_cli.c library/ssl_srv.c library/ssl_tls.c library/x509.c

Requires: POLARSSL_BIGNUM_C

This module is required for SSL/TLS and MD5-signed certificates.

Definition at line 552 of file config.h.

Enable the checkup functions (*_self_test).

Definition at line 206 of file config.h.

#define POLARSSL_SHA1_C

Enable the SHA1 cryptographic hash algorithm.

Module: library/sha1.c Caller: library/ssl_cli.c library/ssl_srv.c library/ssl_tls.c library/x509parse.c

This module is required for SSL/TLS and SHA1-signed certificates.

Definition at line 567 of file config.h.

#define POLARSSL_SHA2_C

Enable the SHA-224 and SHA-256 cryptographic hash algorithms.

Module: library/sha2.c Caller: library/md_wrap.c library/x509parse.c

This module adds support for SHA-224 and SHA-256.

Definition at line 580 of file config.h.

#define POLARSSL_SHA4_C

Enable the SHA-384 and SHA-512 cryptographic hash algorithms.

Module: library/sha4.c Caller: library/md_wrap.c library/x509parse.c

This module adds support for SHA-384 and SHA-512.

Definition at line 593 of file config.h.

Enable the SSL/TLS client code.

Module: library/ssl_cli.c Caller:

Requires: POLARSSL_SSL_TLS_C

This module is required for SSL/TLS client support.

Definition at line 607 of file config.h.

Definition at line 621 of file config.h.

Enable the generic SSL/TLS code.

Module: library/ssl_tls.c Caller: library/ssl_cli.c library/ssl_srv.c

Requires: POLARSSL_MD5_C, POLARSSL_SHA1_C, POLARSSL_X509_PARSE_C

This module is required for SSL/TLS.

Definition at line 636 of file config.h.

Enable the portable timing interface.

Module: library/timing.c Caller: library/havege.c

This module is used by the HAVEGE random number generator.

Definition at line 648 of file config.h.

Enable run-time version information.

Module: library/version.c

This module provides run-time version information.

Definition at line 659 of file config.h.

Enable X.509 certificate parsing.

Module: library/x509parse.c Caller: library/ssl_cli.c library/ssl_srv.c library/ssl_tls.c

Requires: POLARSSL_ASN1_PARSE_C, POLARSSL_BIGNUM_C, POLARSSL_RSA_C

This module is required for X.509 certificate parsing.

Definition at line 675 of file config.h.

#define POLARSSL_XTEA_C

Enable the XTEA block cipher.

Module: library/xtea.c Caller:

Definition at line 685 of file config.h.