28#if !defined(POLARSSL_CONFIG_FILE)
31#include POLARSSL_CONFIG_FILE
34#if defined(POLARSSL_SSL_TLS_C)
41#if defined(_MSC_VER) && !defined strcasecmp && !defined(EFIX64) && \
43#define strcasecmp _stricmp
58static const int ciphersuite_preference[] =
60#if defined(SSL_CIPHERSUITES)
269#if defined(POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED)
270#if defined(POLARSSL_AES_C)
271#if defined(POLARSSL_SHA1_C)
272#if defined(POLARSSL_CIPHER_MODE_CBC)
285#if defined(POLARSSL_SHA256_C)
286#if defined(POLARSSL_CIPHER_MODE_CBC)
293#if defined(POLARSSL_GCM_C)
301#if defined(POLARSSL_SHA512_C)
302#if defined(POLARSSL_CIPHER_MODE_CBC)
309#if defined(POLARSSL_GCM_C)
317#if defined(POLARSSL_CCM_C)
341#if defined(POLARSSL_CAMELLIA_C)
342#if defined(POLARSSL_CIPHER_MODE_CBC)
343#if defined(POLARSSL_SHA256_C)
350#if defined(POLARSSL_SHA512_C)
359#if defined(POLARSSL_GCM_C)
360#if defined(POLARSSL_SHA256_C)
367#if defined(POLARSSL_SHA512_C)
377#if defined(POLARSSL_DES_C)
378#if defined(POLARSSL_CIPHER_MODE_CBC)
379#if defined(POLARSSL_SHA1_C)
389#if defined(POLARSSL_ARC4_C)
390#if defined(POLARSSL_SHA1_C)
399#if defined(POLARSSL_CIPHER_NULL_CIPHER)
400#if defined(POLARSSL_SHA1_C)
410#if defined(POLARSSL_KEY_EXCHANGE_ECDHE_RSA_ENABLED)
411#if defined(POLARSSL_AES_C)
412#if defined(POLARSSL_SHA1_C)
413#if defined(POLARSSL_CIPHER_MODE_CBC)
426#if defined(POLARSSL_SHA256_C)
427#if defined(POLARSSL_CIPHER_MODE_CBC)
434#if defined(POLARSSL_GCM_C)
442#if defined(POLARSSL_SHA512_C)
443#if defined(POLARSSL_CIPHER_MODE_CBC)
450#if defined(POLARSSL_GCM_C)
460#if defined(POLARSSL_CAMELLIA_C)
461#if defined(POLARSSL_CIPHER_MODE_CBC)
462#if defined(POLARSSL_SHA256_C)
469#if defined(POLARSSL_SHA512_C)
478#if defined(POLARSSL_GCM_C)
479#if defined(POLARSSL_SHA256_C)
486#if defined(POLARSSL_SHA512_C)
496#if defined(POLARSSL_DES_C)
497#if defined(POLARSSL_CIPHER_MODE_CBC)
498#if defined(POLARSSL_SHA1_C)
508#if defined(POLARSSL_ARC4_C)
509#if defined(POLARSSL_SHA1_C)
518#if defined(POLARSSL_CIPHER_NULL_CIPHER)
519#if defined(POLARSSL_SHA1_C)
529#if defined(POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED)
530#if defined(POLARSSL_AES_C)
531#if defined(POLARSSL_SHA512_C) && defined(POLARSSL_GCM_C)
539#if defined(POLARSSL_SHA256_C)
540#if defined(POLARSSL_GCM_C)
548#if defined(POLARSSL_CIPHER_MODE_CBC)
563#if defined(POLARSSL_CIPHER_MODE_CBC)
564#if defined(POLARSSL_SHA1_C)
578#if defined(POLARSSL_CCM_C)
602#if defined(POLARSSL_CAMELLIA_C)
603#if defined(POLARSSL_CIPHER_MODE_CBC)
604#if defined(POLARSSL_SHA256_C)
618#if defined(POLARSSL_SHA1_C)
632#if defined(POLARSSL_GCM_C)
633#if defined(POLARSSL_SHA256_C)
641#if defined(POLARSSL_SHA512_C)
651#if defined(POLARSSL_DES_C)
652#if defined(POLARSSL_CIPHER_MODE_CBC)
653#if defined(POLARSSL_SHA1_C)
664#if defined(POLARSSL_KEY_EXCHANGE_RSA_ENABLED)
665#if defined(POLARSSL_AES_C)
666#if defined(POLARSSL_SHA512_C) && defined(POLARSSL_GCM_C)
674#if defined(POLARSSL_SHA256_C)
675#if defined(POLARSSL_GCM_C)
683#if defined(POLARSSL_CIPHER_MODE_CBC)
698#if defined(POLARSSL_SHA1_C)
699#if defined(POLARSSL_CIPHER_MODE_CBC)
713#if defined(POLARSSL_CCM_C)
737#if defined(POLARSSL_CAMELLIA_C)
738#if defined(POLARSSL_CIPHER_MODE_CBC)
739#if defined(POLARSSL_SHA256_C)
753#if defined(POLARSSL_SHA1_C)
768#if defined(POLARSSL_GCM_C)
769#if defined(POLARSSL_SHA256_C)
777#if defined(POLARSSL_SHA1_C)
787#if defined(POLARSSL_DES_C)
788#if defined(POLARSSL_CIPHER_MODE_CBC)
789#if defined(POLARSSL_SHA1_C)
799#if defined(POLARSSL_ARC4_C)
800#if defined(POLARSSL_MD5_C)
808#if defined(POLARSSL_SHA1_C)
818#if defined(POLARSSL_KEY_EXCHANGE_ECDH_RSA_ENABLED)
819#if defined(POLARSSL_AES_C)
820#if defined(POLARSSL_SHA1_C)
821#if defined(POLARSSL_CIPHER_MODE_CBC)
834#if defined(POLARSSL_SHA256_C)
835#if defined(POLARSSL_CIPHER_MODE_CBC)
842#if defined(POLARSSL_GCM_C)
850#if defined(POLARSSL_SHA512_C)
851#if defined(POLARSSL_CIPHER_MODE_CBC)
858#if defined(POLARSSL_GCM_C)
868#if defined(POLARSSL_CAMELLIA_C)
869#if defined(POLARSSL_CIPHER_MODE_CBC)
870#if defined(POLARSSL_SHA256_C)
877#if defined(POLARSSL_SHA512_C)
886#if defined(POLARSSL_GCM_C)
887#if defined(POLARSSL_SHA256_C)
894#if defined(POLARSSL_SHA512_C)
904#if defined(POLARSSL_DES_C)
905#if defined(POLARSSL_CIPHER_MODE_CBC)
906#if defined(POLARSSL_SHA1_C)
916#if defined(POLARSSL_ARC4_C)
917#if defined(POLARSSL_SHA1_C)
926#if defined(POLARSSL_CIPHER_NULL_CIPHER)
927#if defined(POLARSSL_SHA1_C)
937#if defined(POLARSSL_KEY_EXCHANGE_ECDH_ECDSA_ENABLED)
938#if defined(POLARSSL_AES_C)
939#if defined(POLARSSL_SHA1_C)
940#if defined(POLARSSL_CIPHER_MODE_CBC)
953#if defined(POLARSSL_SHA256_C)
954#if defined(POLARSSL_CIPHER_MODE_CBC)
961#if defined(POLARSSL_GCM_C)
969#if defined(POLARSSL_SHA512_C)
970#if defined(POLARSSL_CIPHER_MODE_CBC)
977#if defined(POLARSSL_GCM_C)
987#if defined(POLARSSL_CAMELLIA_C)
988#if defined(POLARSSL_CIPHER_MODE_CBC)
989#if defined(POLARSSL_SHA256_C)
996#if defined(POLARSSL_SHA512_C)
1005#if defined(POLARSSL_GCM_C)
1006#if defined(POLARSSL_SHA256_C)
1013#if defined(POLARSSL_SHA512_C)
1023#if defined(POLARSSL_DES_C)
1024#if defined(POLARSSL_CIPHER_MODE_CBC)
1025#if defined(POLARSSL_SHA1_C)
1035#if defined(POLARSSL_ARC4_C)
1036#if defined(POLARSSL_SHA1_C)
1045#if defined(POLARSSL_CIPHER_NULL_CIPHER)
1046#if defined(POLARSSL_SHA1_C)
1056#if defined(POLARSSL_KEY_EXCHANGE_PSK_ENABLED)
1057#if defined(POLARSSL_AES_C)
1058#if defined(POLARSSL_GCM_C)
1059#if defined(POLARSSL_SHA256_C)
1067#if defined(POLARSSL_SHA512_C)
1076#if defined(POLARSSL_CIPHER_MODE_CBC)
1077#if defined(POLARSSL_SHA256_C)
1085#if defined(POLARSSL_SHA512_C)
1093#if defined(POLARSSL_SHA1_C)
1107#if defined(POLARSSL_CCM_C)
1131#if defined(POLARSSL_CAMELLIA_C)
1132#if defined(POLARSSL_CIPHER_MODE_CBC)
1133#if defined(POLARSSL_SHA256_C)
1141#if defined(POLARSSL_SHA512_C)
1150#if defined(POLARSSL_GCM_C)
1151#if defined(POLARSSL_SHA256_C)
1159#if defined(POLARSSL_SHA512_C)
1169#if defined(POLARSSL_DES_C)
1170#if defined(POLARSSL_CIPHER_MODE_CBC)
1171#if defined(POLARSSL_SHA1_C)
1181#if defined(POLARSSL_ARC4_C)
1182#if defined(POLARSSL_SHA1_C)
1192#if defined(POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED)
1193#if defined(POLARSSL_AES_C)
1194#if defined(POLARSSL_GCM_C)
1195#if defined(POLARSSL_SHA256_C)
1203#if defined(POLARSSL_SHA512_C)
1212#if defined(POLARSSL_CIPHER_MODE_CBC)
1213#if defined(POLARSSL_SHA256_C)
1221#if defined(POLARSSL_SHA512_C)
1229#if defined(POLARSSL_SHA1_C)
1243#if defined(POLARSSL_CCM_C)
1267#if defined(POLARSSL_CAMELLIA_C)
1268#if defined(POLARSSL_CIPHER_MODE_CBC)
1269#if defined(POLARSSL_SHA256_C)
1277#if defined(POLARSSL_SHA512_C)
1286#if defined(POLARSSL_GCM_C)
1287#if defined(POLARSSL_SHA256_C)
1295#if defined(POLARSSL_SHA512_C)
1305#if defined(POLARSSL_DES_C)
1306#if defined(POLARSSL_CIPHER_MODE_CBC)
1307#if defined(POLARSSL_SHA1_C)
1317#if defined(POLARSSL_ARC4_C)
1318#if defined(POLARSSL_SHA1_C)
1328#if defined(POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
1329#if defined(POLARSSL_AES_C)
1331#if defined(POLARSSL_CIPHER_MODE_CBC)
1332#if defined(POLARSSL_SHA256_C)
1340#if defined(POLARSSL_SHA512_C)
1348#if defined(POLARSSL_SHA1_C)
1364#if defined(POLARSSL_CAMELLIA_C)
1365#if defined(POLARSSL_CIPHER_MODE_CBC)
1366#if defined(POLARSSL_SHA256_C)
1374#if defined(POLARSSL_SHA512_C)
1384#if defined(POLARSSL_DES_C)
1385#if defined(POLARSSL_CIPHER_MODE_CBC)
1386#if defined(POLARSSL_SHA1_C)
1396#if defined(POLARSSL_ARC4_C)
1397#if defined(POLARSSL_SHA1_C)
1407#if defined(POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED)
1408#if defined(POLARSSL_AES_C)
1409#if defined(POLARSSL_GCM_C)
1410#if defined(POLARSSL_SHA256_C)
1418#if defined(POLARSSL_SHA512_C)
1427#if defined(POLARSSL_CIPHER_MODE_CBC)
1428#if defined(POLARSSL_SHA256_C)
1436#if defined(POLARSSL_SHA512_C)
1444#if defined(POLARSSL_SHA1_C)
1460#if defined(POLARSSL_CAMELLIA_C)
1461#if defined(POLARSSL_CIPHER_MODE_CBC)
1462#if defined(POLARSSL_SHA256_C)
1470#if defined(POLARSSL_SHA512_C)
1479#if defined(POLARSSL_GCM_C)
1480#if defined(POLARSSL_SHA256_C)
1488#if defined(POLARSSL_SHA512_C)
1498#if defined(POLARSSL_DES_C)
1499#if defined(POLARSSL_CIPHER_MODE_CBC)
1500#if defined(POLARSSL_SHA1_C)
1510#if defined(POLARSSL_ARC4_C)
1511#if defined(POLARSSL_SHA1_C)
1521#if defined(POLARSSL_ENABLE_WEAK_CIPHERSUITES)
1522#if defined(POLARSSL_CIPHER_NULL_CIPHER)
1523#if defined(POLARSSL_KEY_EXCHANGE_RSA_ENABLED)
1524#if defined(POLARSSL_MD5_C)
1532#if defined(POLARSSL_SHA1_C)
1540#if defined(POLARSSL_SHA256_C)
1549#if defined(POLARSSL_KEY_EXCHANGE_PSK_ENABLED)
1550#if defined(POLARSSL_SHA1_C)
1558#if defined(POLARSSL_SHA256_C)
1566#if defined(POLARSSL_SHA512_C)
1575#if defined(POLARSSL_KEY_EXCHANGE_DHE_PSK_ENABLED)
1576#if defined(POLARSSL_SHA1_C)
1584#if defined(POLARSSL_SHA256_C)
1592#if defined(POLARSSL_SHA512_C)
1601#if defined(POLARSSL_KEY_EXCHANGE_ECDHE_PSK_ENABLED)
1602#if defined(POLARSSL_SHA1_C)
1610#if defined(POLARSSL_SHA256_C)
1618#if defined(POLARSSL_SHA512_C)
1627#if defined(POLARSSL_KEY_EXCHANGE_RSA_PSK_ENABLED)
1628#if defined(POLARSSL_SHA1_C)
1636#if defined(POLARSSL_SHA256_C)
1644#if defined(POLARSSL_SHA512_C)
1654#if defined(POLARSSL_DES_C)
1655#if defined(POLARSSL_CIPHER_MODE_CBC)
1656#if defined(POLARSSL_KEY_EXCHANGE_DHE_RSA_ENABLED)
1657#if defined(POLARSSL_SHA1_C)
1666#if defined(POLARSSL_KEY_EXCHANGE_RSA_ENABLED)
1667#if defined(POLARSSL_SHA1_C)
1679 { 0,
"", 0, 0, 0, 0, 0, 0, 0, 0 }
1682#if defined(SSL_CIPHERSUITES)
1685 return( ciphersuite_preference );
1688#define MAX_CIPHERSUITES sizeof( ciphersuite_definitions ) / \
1689 sizeof( ciphersuite_definitions[0] )
1690static int supported_ciphersuites[MAX_CIPHERSUITES];
1691static int supported_init = 0;
1699 if( supported_init == 0 )
1704 for( p = ciphersuite_preference, q = supported_ciphersuites;
1705 *p != 0 && q < supported_ciphersuites + MAX_CIPHERSUITES - 1;
1708#if defined(POLARSSL_REMOVE_ARC4_CIPHERSUITES)
1722 return( supported_ciphersuites );
1727 const char *ciphersuite_name )
1731 if( NULL == ciphersuite_name )
1734 while( cur->
id != 0 )
1736 if( 0 == strcasecmp( cur->
name, ciphersuite_name ) )
1749 while( cur->
id != 0 )
1751 if( cur->
id == ciphersuite )
1767 return(
"unknown" );
1769 return( cur->
name );
1784#if defined(POLARSSL_PK_C)
1808#if defined(POLARSSL_ECDH_C) || defined(POLARSSL_ECDSA_C)
1826#if defined(POLARSSL_KEY_EXCHANGE__SOME__PSK_ENABLED)
@ POLARSSL_CIPHER_CAMELLIA_256_GCM
@ POLARSSL_CIPHER_AES_256_CCM
@ POLARSSL_CIPHER_AES_128_GCM
@ POLARSSL_CIPHER_AES_256_CBC
@ POLARSSL_CIPHER_CAMELLIA_128_GCM
@ POLARSSL_CIPHER_AES_256_GCM
@ POLARSSL_CIPHER_CAMELLIA_128_CBC
@ POLARSSL_CIPHER_AES_128_CBC
@ POLARSSL_CIPHER_AES_128_CCM
@ POLARSSL_CIPHER_ARC4_128
@ POLARSSL_CIPHER_CAMELLIA_256_CBC
@ POLARSSL_CIPHER_DES_EDE3_CBC
@ POLARSSL_CIPHER_DES_CBC
Configuration options (set of defines)
pk_type_t
Public key types.
int ssl_get_ciphersuite_id(const char *ciphersuite_name)
Return the ID of the ciphersuite associated with the given name.
#define SSL_MINOR_VERSION_1
#define SSL_MINOR_VERSION_0
#define SSL_MINOR_VERSION_3
#define SSL_MAJOR_VERSION_3
const int * ssl_list_ciphersuites(void)
Returns the list of ciphersuites supported by the SSL/TLS module.
const char * ssl_get_ciphersuite_name(const int ciphersuite_id)
Return the name of the ciphersuite associated with the given ID.
SSL Ciphersuites for PolarSSL.
#define TLS_DHE_PSK_WITH_AES_128_CBC_SHA
#define TLS_ECDHE_PSK_WITH_NULL_SHA384
Weak! No SSL3!
#define TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
Not in SSL3!
#define TLS_RSA_WITH_AES_256_CBC_SHA256
TLS 1.2.
#define TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
#define TLS_RSA_WITH_AES_128_CCM
TLS 1.2.
#define TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
Not in SSL3!
#define POLARSSL_CIPHERSUITE_WEAK
Weak ciphersuite flag
#define TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
TLS 1.2.
#define TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
Not in SSL3!
#define TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
TLS 1.2.
#define TLS_DHE_PSK_WITH_AES_128_CCM
TLS 1.2.
#define TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
TLS 1.2.
#define TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384
TLS 1.2.
#define TLS_RSA_WITH_AES_128_CBC_SHA
#define TLS_PSK_WITH_AES_128_CBC_SHA256
#define TLS_DHE_PSK_WITH_AES_256_CCM
TLS 1.2.
#define TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA
Not in SSL3!
#define TLS_RSA_PSK_WITH_AES_256_GCM_SHA384
TLS 1.2.
#define TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384
Not in SSL3!
#define TLS_DHE_PSK_WITH_AES_128_CBC_SHA256
#define TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA
Not in SSL3!
int ssl_ciphersuite_uses_ec(const ssl_ciphersuite_t *info)
#define TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
TLS 1.2.
#define TLS_RSA_WITH_AES_256_GCM_SHA384
TLS 1.2.
#define TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
#define TLS_RSA_WITH_RC4_128_MD5
#define TLS_DHE_RSA_WITH_DES_CBC_SHA
Weak! Not in TLS 1.2.
#define TLS_RSA_WITH_NULL_MD5
Weak!
#define TLS_PSK_WITH_NULL_SHA
Weak!
#define TLS_RSA_WITH_AES_256_CCM
TLS 1.2.
#define TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
TLS 1.2.
#define TLS_RSA_WITH_AES_256_CBC_SHA
#define TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
Not in SSL3!
#define TLS_ECDHE_PSK_WITH_NULL_SHA256
Weak! No SSL3!
#define TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS 1.2.
#define TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
#define TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS 1.2.
#define TLS_RSA_PSK_WITH_AES_256_CBC_SHA
#define TLS_PSK_WITH_NULL_SHA256
Weak!
#define TLS_RSA_PSK_WITH_RC4_128_SHA
#define TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
Not in SSL3!
#define TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
TLS 1.2.
#define TLS_ECDH_RSA_WITH_NULL_SHA
Weak!
#define TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384
TLS 1.2.
#define TLS_DHE_RSA_WITH_AES_256_CCM
TLS 1.2.
pk_type_t ssl_get_ciphersuite_sig_pk_alg(const ssl_ciphersuite_t *info)
#define TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS 1.2.
#define TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS 1.2.
#define TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS 1.2.
#define TLS_RSA_PSK_WITH_AES_128_GCM_SHA256
TLS 1.2.
#define TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384
TLS 1.2.
#define TLS_PSK_WITH_3DES_EDE_CBC_SHA
#define TLS_RSA_WITH_AES_128_GCM_SHA256
TLS 1.2.
#define TLS_ECDHE_ECDSA_WITH_AES_128_CCM
TLS 1.2.
#define TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
Not in SSL3!
#define TLS_RSA_PSK_WITH_AES_256_CBC_SHA384
#define TLS_RSA_WITH_AES_256_CCM_8
TLS 1.2.
#define TLS_RSA_WITH_AES_128_CBC_SHA256
TLS 1.2.
#define TLS_DHE_PSK_WITH_RC4_128_SHA
#define TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
TLS 1.2.
#define TLS_RSA_WITH_AES_128_CCM_8
TLS 1.2.
#define TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
#define TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
Not in SSL3!
#define TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256
TLS 1.2.
#define TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
TLS 1.2.
#define TLS_PSK_WITH_AES_256_CBC_SHA384
#define TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
Not in SSL3!
#define TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
TLS 1.2.
#define TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS 1.2.
#define TLS_DHE_PSK_WITH_NULL_SHA
Weak!
#define TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
TLS 1.2.
#define TLS_DHE_PSK_WITH_AES_256_CBC_SHA384
#define TLS_DHE_RSA_WITH_AES_256_CCM_8
TLS 1.2.
#define TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
TLS 1.2.
#define TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
Not in SSL3!
#define TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
#define TLS_DHE_RSA_WITH_AES_256_CBC_SHA
#define TLS_PSK_WITH_NULL_SHA384
Weak!
#define TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
TLS 1.2.
#define TLS_DHE_RSA_WITH_AES_128_CCM
TLS 1.2.
#define TLS_RSA_PSK_WITH_NULL_SHA384
Weak!
#define TLS_PSK_WITH_AES_128_GCM_SHA256
TLS 1.2.
#define TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384
TLS 1.2.
#define TLS_DHE_PSK_WITH_NULL_SHA256
Weak!
#define TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
#define TLS_RSA_WITH_DES_CBC_SHA
Weak! Not in TLS 1.2.
#define TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
TLS 1.2.
#define TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
TLS 1.2.
#define TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
Not in SSL3!
#define TLS_ECDHE_PSK_WITH_RC4_128_SHA
Not in SSL3!
#define TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256
TLS 1.2.
#define TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
Not in SSL3!
#define TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
Not in SSL3!
#define TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
Not in SSL3!
#define TLS_RSA_PSK_WITH_AES_128_CBC_SHA256
#define TLS_ECDHE_PSK_WITH_NULL_SHA
Weak! No SSL3!
#define TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256
#define TLS_DHE_PSK_WITH_AES_256_CCM_8
TLS 1.2.
#define TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
TLS 1.2.
#define TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
int ssl_ciphersuite_uses_psk(const ssl_ciphersuite_t *info)
const ssl_ciphersuite_t * ssl_ciphersuite_from_id(int ciphersuite_id)
#define TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
Not in SSL3!
#define TLS_ECDHE_ECDSA_WITH_NULL_SHA
Weak!
#define TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384
Not in SSL3!
#define TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
TLS 1.2.
#define TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
Not in SSL3!
#define TLS_RSA_PSK_WITH_NULL_SHA
Weak!
#define TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
Not in SSL3!
#define TLS_DHE_PSK_WITH_AES_128_CCM_8
TLS 1.2.
#define TLS_ECDH_ECDSA_WITH_NULL_SHA
Weak!
#define TLS_ECDHE_ECDSA_WITH_AES_256_CCM
TLS 1.2.
#define TLS_ECDH_ECDSA_WITH_RC4_128_SHA
Not in SSL3!
#define TLS_RSA_WITH_NULL_SHA
Weak!
#define TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
Not in SSL3!
#define TLS_DHE_RSA_WITH_AES_128_CBC_SHA
#define TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
TLS 1.2.
#define TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA
#define TLS_RSA_PSK_WITH_NULL_SHA256
Weak!
const ssl_ciphersuite_t * ssl_ciphersuite_from_string(const char *ciphersuite_name)
#define TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
#define TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384
#define TLS_PSK_WITH_AES_128_CCM
TLS 1.2.
#define TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS 1.2.
#define TLS_RSA_PSK_WITH_AES_128_CBC_SHA
#define TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
#define TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
TLS 1.2.
#define TLS_DHE_PSK_WITH_AES_128_GCM_SHA256
TLS 1.2.
#define TLS_RSA_WITH_RC4_128_SHA
#define TLS_ECDHE_RSA_WITH_NULL_SHA
Weak!
#define TLS_ECDH_RSA_WITH_RC4_128_SHA
Not in SSL3!
#define TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384
TLS 1.2.
#define TLS_DHE_RSA_WITH_AES_128_CCM_8
TLS 1.2.
#define TLS_PSK_WITH_AES_128_CBC_SHA
#define TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256
Not in SSL3!
#define TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
Not in SSL3!
#define TLS_DHE_PSK_WITH_AES_256_CBC_SHA
#define TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
TLS 1.2.
#define TLS_PSK_WITH_AES_256_GCM_SHA384
TLS 1.2.
#define TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS 1.2.
#define TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
TLS 1.2.
#define TLS_PSK_WITH_AES_256_CBC_SHA
#define TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
Not in SSL3!
@ POLARSSL_KEY_EXCHANGE_DHE_RSA
@ POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA
@ POLARSSL_KEY_EXCHANGE_PSK
@ POLARSSL_KEY_EXCHANGE_DHE_PSK
@ POLARSSL_KEY_EXCHANGE_ECDHE_RSA
@ POLARSSL_KEY_EXCHANGE_ECDHE_PSK
@ POLARSSL_KEY_EXCHANGE_RSA_PSK
@ POLARSSL_KEY_EXCHANGE_RSA
@ POLARSSL_KEY_EXCHANGE_ECDH_RSA
@ POLARSSL_KEY_EXCHANGE_ECDH_ECDSA
#define TLS_PSK_WITH_AES_256_CCM
TLS 1.2.
#define TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
Not in SSL3!
#define POLARSSL_CIPHERSUITE_SHORT_TAG
Short authentication tag, eg for CCM_8.
#define TLS_ECDHE_RSA_WITH_RC4_128_SHA
Not in SSL3!
#define TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
TLS 1.2.
#define TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256
Not in SSL3!
#define TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
TLS 1.2.
#define TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256
TLS 1.2.
#define TLS_RSA_WITH_NULL_SHA256
Weak!
#define TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256
TLS 1.2.
#define TLS_RSA_WITH_3DES_EDE_CBC_SHA
#define TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
TLS 1.2.
#define TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS 1.2.
#define TLS_PSK_WITH_AES_256_CCM_8
TLS 1.2.
#define TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384
#define TLS_DHE_PSK_WITH_NULL_SHA384
Weak!
#define TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS 1.2.
#define TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
Not in SSL3!
#define TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
Not in SSL3!
#define TLS_DHE_PSK_WITH_AES_256_GCM_SHA384
TLS 1.2.
#define TLS_PSK_WITH_RC4_128_SHA
#define TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8
TLS 1.2.
#define TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
TLS 1.2.
#define TLS_PSK_WITH_AES_128_CCM_8
TLS 1.2.
This structure is used for storing ciphersuite information.
key_exchange_type_t key_exchange