1、编译PolarSSL
下载地址 https://tls.mbed.org
我使用的版本为PolarSSL-1.3.8
根据不同的需要,可以设置不同的配置,需要修改polarssl-dev/include/polarssl/config.h。为了尽量缩小体积,我把自己使用的config.h贴出来。
#ifndefPOLARSSL_CONFIG_H
#definePOLARSSL_CONFIG_H
/*System support */
#definePOLARSSL_HAVE_LONGLONG
#definePOLARSSL_HAVE_ASM
#definePOLARSSL_HAVE_TIME
#definePOLARSSL_HAVE_IPV6
/*PolarSSL feature support */
#definePOLARSSL_CIPHER_MODE_CBC
#definePOLARSSL_CIPHER_PADDING_PKCS7
#definePOLARSSL_CIPHER_PADDING_ONE_AND_ZEROS
#definePOLARSSL_CIPHER_PADDING_ZEROS_AND_LEN
#definePOLARSSL_CIPHER_PADDING_ZEROS
#definePOLARSSL_KEY_EXCHANGE_PSK_ENABLED
#definePOLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED
#definePOLARSSL_KEY_EXCHANGE_RSA_ENABLED
#definePOLARSSL_GENPRIME
#definePOLARSSL_FS_IO
#definePOLARSSL_PKCS1_V15
//#definePOLARSSL_PKCS1_V21 //add
#definePOLARSSL_SSL_MAX_FRAGMENT_LENGTH //add
#definePOLARSSL_SSL_PROTO_SSL3
#definePOLARSSL_SSL_PROTO_TLS1
#definePOLARSSL_SSL_PROTO_TLS1_1
#definePOLARSSL_SSL_PROTO_TLS1_2 //add
#definePOLARSSL_SSL_SESSION_TICKETS
#definePOLARSSL_SSL_SERVER_NAME_INDICATION
#definePOLARSSL_VERSION_FEATURES
#definePOLARSSL_X509_CHECK_KEY_USAGE
//#definePOLARSSL_X509_CHECK_EXTENDED_KEY_USAGE
//#definePOLARSSL_X509_RSASSA_PSS_SUPPORT //add
/*PolarSSL modules */
#definePOLARSSL_AESNI_C //add
#definePOLARSSL_AES_C
#definePOLARSSL_ARC4_C
#definePOLARSSL_ASN1_PARSE_C
#definePOLARSSL_ASN1_WRITE_C
#definePOLARSSL_BASE64_C
#definePOLARSSL_BIGNUM_C
#definePOLARSSL_CERTS_C
#definePOLARSSL_CIPHER_C
#definePOLARSSL_CTR_DRBG_C
#definePOLARSSL_DES_C
#definePOLARSSL_DHM_C
#definePOLARSSL_ENTROPY_C
//#definePOLARSSL_ERROR_C
#definePOLARSSL_MD_C
#definePOLARSSL_MD5_C
#definePOLARSSL_NET_C
#definePOLARSSL_OID_C
#definePOLARSSL_PEM_PARSE_C
#definePOLARSSL_PK_C
#definePOLARSSL_PK_PARSE_C
#definePOLARSSL_PLATFORM_C
#definePOLARSSL_RSA_C
#definePOLARSSL_SHA1_C
#definePOLARSSL_SHA256_C
#definePOLARSSL_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
#definePOLARSSL_SSL_CACHE_C
#definePOLARSSL_SSL_CLI_C
#definePOLARSSL_SSL_SRV_C
#definePOLARSSL_SSL_TLS_C
#definePOLARSSL_TIMING_C
#definePOLARSSL_VERSION_C
#definePOLARSSL_X509_USE_C
#definePOLARSSL_X509_CRT_PARSE_C
#definePOLARSSL_X509_CRL_PARSE_C
#definePOLARSSL_X509_CSR_PARSE_C
#definePOLARSSL_XTEA_C
/*For testing with compat.sh */
#include"polarssl/check_config.h"
#endif/* POLARSSL_CON