| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Table enumerating all implemented cipher suites | 2 * Table enumerating all implemented cipher suites |
| 3 * Part of public API. | 3 * Part of public API. |
| 4 * | 4 * |
| 5 * ***** BEGIN LICENSE BLOCK ***** | 5 * ***** BEGIN LICENSE BLOCK ***** |
| 6 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 | 6 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
| 7 * | 7 * |
| 8 * The contents of this file are subject to the Mozilla Public License Version | 8 * The contents of this file are subject to the Mozilla Public License Version |
| 9 * 1.1 (the "License"); you may not use this file except in compliance with | 9 * 1.1 (the "License"); you may not use this file except in compliance with |
| 10 * the License. You may obtain a copy of the License at | 10 * the License. You may obtain a copy of the License at |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 * in which case the provisions of the GPL or the LGPL are applicable instead | 32 * in which case the provisions of the GPL or the LGPL are applicable instead |
| 33 * of those above. If you wish to allow use of your version of this file only | 33 * of those above. If you wish to allow use of your version of this file only |
| 34 * under the terms of either the GPL or the LGPL, and not to allow others to | 34 * under the terms of either the GPL or the LGPL, and not to allow others to |
| 35 * use your version of this file under the terms of the MPL, indicate your | 35 * use your version of this file under the terms of the MPL, indicate your |
| 36 * decision by deleting the provisions above and replace them with the notice | 36 * decision by deleting the provisions above and replace them with the notice |
| 37 * and other provisions required by the GPL or the LGPL. If you do not delete | 37 * and other provisions required by the GPL or the LGPL. If you do not delete |
| 38 * the provisions above, a recipient may use your version of this file under | 38 * the provisions above, a recipient may use your version of this file under |
| 39 * the terms of any one of the MPL, the GPL or the LGPL. | 39 * the terms of any one of the MPL, the GPL or the LGPL. |
| 40 * | 40 * |
| 41 * ***** END LICENSE BLOCK ***** */ | 41 * ***** END LICENSE BLOCK ***** */ |
| 42 /* $Id: sslenum.c,v 1.17 2010/02/10 18:07:21 wtc%google.com Exp $ */ | 42 /* $Id: sslenum.c,v 1.18 2012/03/06 00:26:31 wtc%google.com Exp $ */ |
| 43 | 43 |
| 44 #include "ssl.h" | 44 #include "ssl.h" |
| 45 #include "sslproto.h" | 45 #include "sslproto.h" |
| 46 | 46 |
| 47 /* | 47 /* |
| 48 * The ciphers are listed in the following order: | 48 * The ciphers are listed in the following order: |
| 49 * - stronger ciphers before weaker ciphers | 49 * - stronger ciphers before weaker ciphers |
| 50 * - national ciphers before international ciphers | 50 * - national ciphers before international ciphers |
| 51 * - faster ciphers before slower ciphers | 51 * - faster ciphers before slower ciphers |
| 52 * | 52 * |
| 53 * National ciphers such as Camellia are listed before international ciphers | 53 * National ciphers such as Camellia are listed before international ciphers |
| 54 * such as AES and RC4 to allow servers that prefer Camellia to negotiate | 54 * such as AES and RC4 to allow servers that prefer Camellia to negotiate |
| 55 * Camellia without having to disable AES and RC4, which are needed for | 55 * Camellia without having to disable AES and RC4, which are needed for |
| 56 * interoperability with clients that don't yet implement Camellia. | 56 * interoperability with clients that don't yet implement Camellia. |
| 57 * | 57 * |
| 58 * The ordering of cipher suites in this table must match the ordering in |
| 59 * the cipherSuites table in ssl3con.c. |
| 60 * |
| 58 * If new ECC cipher suites are added, also update the ssl3CipherSuite arrays | 61 * If new ECC cipher suites are added, also update the ssl3CipherSuite arrays |
| 59 * in ssl3ecc.c. | 62 * in ssl3ecc.c. |
| 60 */ | 63 */ |
| 61 const PRUint16 SSL_ImplementedCiphers[] = { | 64 const PRUint16 SSL_ImplementedCiphers[] = { |
| 62 /* 256-bit */ | 65 /* 256-bit */ |
| 63 #ifdef NSS_ENABLE_ECC | 66 #ifdef NSS_ENABLE_ECC |
| 64 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, | 67 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, |
| 65 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, | 68 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, |
| 66 #endif /* NSS_ENABLE_ECC */ | 69 #endif /* NSS_ENABLE_ECC */ |
| 67 TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, | 70 TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, |
| (...skipping 20 matching lines...) Expand all Loading... |
| 88 TLS_DHE_RSA_WITH_AES_128_CBC_SHA, | 91 TLS_DHE_RSA_WITH_AES_128_CBC_SHA, |
| 89 TLS_DHE_DSS_WITH_AES_128_CBC_SHA, | 92 TLS_DHE_DSS_WITH_AES_128_CBC_SHA, |
| 90 #ifdef NSS_ENABLE_ECC | 93 #ifdef NSS_ENABLE_ECC |
| 91 TLS_ECDH_RSA_WITH_RC4_128_SHA, | 94 TLS_ECDH_RSA_WITH_RC4_128_SHA, |
| 92 TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, | 95 TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, |
| 93 TLS_ECDH_ECDSA_WITH_RC4_128_SHA, | 96 TLS_ECDH_ECDSA_WITH_RC4_128_SHA, |
| 94 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, | 97 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, |
| 95 #endif /* NSS_ENABLE_ECC */ | 98 #endif /* NSS_ENABLE_ECC */ |
| 96 TLS_RSA_WITH_SEED_CBC_SHA, | 99 TLS_RSA_WITH_SEED_CBC_SHA, |
| 97 TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, | 100 TLS_RSA_WITH_CAMELLIA_128_CBC_SHA, |
| 101 SSL_RSA_WITH_RC4_128_SHA, |
| 98 SSL_RSA_WITH_RC4_128_MD5, | 102 SSL_RSA_WITH_RC4_128_MD5, |
| 99 SSL_RSA_WITH_RC4_128_SHA, | |
| 100 TLS_RSA_WITH_AES_128_CBC_SHA, | 103 TLS_RSA_WITH_AES_128_CBC_SHA, |
| 101 | 104 |
| 102 /* 112-bit 3DES */ | 105 /* 112-bit 3DES */ |
| 103 #ifdef NSS_ENABLE_ECC | 106 #ifdef NSS_ENABLE_ECC |
| 104 TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, | 107 TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, |
| 105 TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, | 108 TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, |
| 106 #endif /* NSS_ENABLE_ECC */ | 109 #endif /* NSS_ENABLE_ECC */ |
| 107 SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, | 110 SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, |
| 108 SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, | 111 SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, |
| 109 #ifdef NSS_ENABLE_ECC | 112 #ifdef NSS_ENABLE_ECC |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 SSL_GetImplementedCiphers(void) | 159 SSL_GetImplementedCiphers(void) |
| 157 { | 160 { |
| 158 return SSL_ImplementedCiphers; | 161 return SSL_ImplementedCiphers; |
| 159 } | 162 } |
| 160 | 163 |
| 161 PRUint16 | 164 PRUint16 |
| 162 SSL_GetNumImplementedCiphers(void) | 165 SSL_GetNumImplementedCiphers(void) |
| 163 { | 166 { |
| 164 return SSL_NumImplementedCiphers; | 167 return SSL_NumImplementedCiphers; |
| 165 } | 168 } |
| OLD | NEW |