aboutsummaryrefslogtreecommitdiffstats
path: root/src/ssl/tls_suites.cpp
diff options
context:
space:
mode:
authorlloyd <[email protected]>2010-04-19 13:44:45 +0000
committerlloyd <[email protected]>2010-04-19 13:44:45 +0000
commit228b4ab72d370b97de1f16b9bb1ae0dcb528bc7c (patch)
tree3118412609945e6d35cf2153a03a16ef2980b1d9 /src/ssl/tls_suites.cpp
parent7e11baeb323cb0becfccd6f8b543a062c6d57b8e (diff)
Add codes for SHA-1 based ECC suites (RFC 4492).
Diffstat (limited to 'src/ssl/tls_suites.cpp')
-rw-r--r--src/ssl/tls_suites.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/ssl/tls_suites.cpp b/src/ssl/tls_suites.cpp
index 3f0e76654..f48994b3c 100644
--- a/src/ssl/tls_suites.cpp
+++ b/src/ssl/tls_suites.cpp
@@ -137,6 +137,30 @@ TLS_Ciphersuite_Algos lookup_ciphersuite(u16bit suite)
TLS_ALGO_MAC_SHA256 |
TLS_ALGO_CIPHER_AES256_CBC);
+ if(suite == TLS_ECDHE_ECDSA_WITH_RC4_128_SHA)
+ return TLS_Ciphersuite_Algos(TLS_ALGO_SIGNER_ECDSA |
+ TLS_ALGO_KEYEXCH_ECDH |
+ TLS_ALGO_MAC_SHA1 |
+ TLS_ALGO_CIPHER_RC4_128);
+
+ if(suite == TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA)
+ return TLS_Ciphersuite_Algos(TLS_ALGO_SIGNER_ECDSA |
+ TLS_ALGO_KEYEXCH_ECDH |
+ TLS_ALGO_MAC_SHA1 |
+ TLS_ALGO_CIPHER_3DES_CBC);
+
+ if(suite == TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA)
+ return TLS_Ciphersuite_Algos(TLS_ALGO_SIGNER_ECDSA |
+ TLS_ALGO_KEYEXCH_ECDH |
+ TLS_ALGO_MAC_SHA1 |
+ TLS_ALGO_CIPHER_AES128_CBC);
+
+ if(suite == TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA)
+ return TLS_Ciphersuite_Algos(TLS_ALGO_SIGNER_ECDSA |
+ TLS_ALGO_KEYEXCH_ECDH |
+ TLS_ALGO_MAC_SHA1 |
+ TLS_ALGO_CIPHER_AES256_CBC);
+
if(suite == TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256)
return TLS_Ciphersuite_Algos(TLS_ALGO_SIGNER_ECDSA |
TLS_ALGO_KEYEXCH_ECDH |
@@ -149,6 +173,30 @@ TLS_Ciphersuite_Algos lookup_ciphersuite(u16bit suite)
TLS_ALGO_MAC_SHA384 |
TLS_ALGO_CIPHER_AES256_CBC);
+ if(suite == TLS_ECDHE_RSA_WITH_RC4_128_SHA)
+ return TLS_Ciphersuite_Algos(TLS_ALGO_SIGNER_RSA |
+ TLS_ALGO_KEYEXCH_ECDH |
+ TLS_ALGO_MAC_SHA1 |
+ TLS_ALGO_CIPHER_RC4_128);
+
+ if(suite == TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA)
+ return TLS_Ciphersuite_Algos(TLS_ALGO_SIGNER_RSA |
+ TLS_ALGO_KEYEXCH_ECDH |
+ TLS_ALGO_MAC_SHA1 |
+ TLS_ALGO_CIPHER_3DES_CBC);
+
+ if(suite == TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA)
+ return TLS_Ciphersuite_Algos(TLS_ALGO_SIGNER_RSA |
+ TLS_ALGO_KEYEXCH_ECDH |
+ TLS_ALGO_MAC_SHA1 |
+ TLS_ALGO_CIPHER_AES128_CBC);
+
+ if(suite == TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA)
+ return TLS_Ciphersuite_Algos(TLS_ALGO_SIGNER_RSA |
+ TLS_ALGO_KEYEXCH_ECDH |
+ TLS_ALGO_MAC_SHA1 |
+ TLS_ALGO_CIPHER_AES256_CBC);
+
if(suite == TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256)
return TLS_Ciphersuite_Algos(TLS_ALGO_SIGNER_ECDSA |
TLS_ALGO_KEYEXCH_ECDH |