aboutsummaryrefslogtreecommitdiffstats
path: root/src/tls/tls_ciphersuite.h
diff options
context:
space:
mode:
authorlloyd <[email protected]>2012-03-30 18:35:25 +0000
committerlloyd <[email protected]>2012-03-30 18:35:25 +0000
commit4b4edaa984cb0b26e8246f19e594cb8d173ae833 (patch)
tree6909a725dc913e11cdf6f5fa16d4859830f15235 /src/tls/tls_ciphersuite.h
parent4c12fa5de1b59f2c58f974412231a19c4dc7c10f (diff)
Remove the Ciphersuite_Code enum and move all ciphersuite
integer->info mapping to tls_suite_info.cpp which is mostly autogenerated by a Python script from the IANA parameters file. The SRP method now uses kex "SRP_SHA" which is what the RFC calls it. (And hypothetically, SRP_SHA256 might be defined at some point and we'd need to be able to distinguish them). Remove IDEA ciphersuite; we don't want to require IDEA be available due to the European patent still being valid (IIRC), but I didn't want to have to hand-edit the autogenerated switch with an #if check. Not a huge issue though as most sites don't support it anyway.
Diffstat (limited to 'src/tls/tls_ciphersuite.h')
-rw-r--r--src/tls/tls_ciphersuite.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/tls/tls_ciphersuite.h b/src/tls/tls_ciphersuite.h
index e5d8c967b..6081fc9eb 100644
--- a/src/tls/tls_ciphersuite.h
+++ b/src/tls/tls_ciphersuite.h
@@ -21,6 +21,9 @@ namespace TLS {
class BOTAN_DLL Ciphersuite
{
public:
+ /**
+ * Convert an SSL/TLS ciphersuite to algorithm fields
+ */
static Ciphersuite by_id(u16bit suite);
static Ciphersuite by_name(const std::string& name);
@@ -46,7 +49,15 @@ class BOTAN_DLL Ciphersuite
const std::string& kex_algo,
const std::string& mac_algo,
const std::string& cipher_algo,
- size_t cipher_algo_keylen);
+ size_t cipher_algo_keylen) :
+ m_sig_algo(sig_algo),
+ m_kex_algo(kex_algo),
+ m_mac_algo(mac_algo),
+ m_cipher_algo(cipher_algo),
+ m_cipher_keylen(cipher_algo_keylen)
+ {
+ }
+
private:
std::string m_sig_algo, m_kex_algo, m_mac_algo, m_cipher_algo;
size_t m_cipher_keylen;