aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests/unit_tls.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/unit_tls.cpp')
-rw-r--r--src/tests/unit_tls.cpp277
1 files changed, 183 insertions, 94 deletions
diff --git a/src/tests/unit_tls.cpp b/src/tests/unit_tls.cpp
index 28152e624..5ec44331c 100644
--- a/src/tests/unit_tls.cpp
+++ b/src/tests/unit_tls.cpp
@@ -16,25 +16,25 @@
#if defined(BOTAN_HAS_TLS)
-#include <botan/tls_client.h>
-#include <botan/tls_server.h>
-
-#include <botan/ec_group.h>
-#include <botan/hex.h>
-#include <botan/pkcs10.h>
-#include <botan/rsa.h>
-#include <botan/ecdsa.h>
-#include <botan/tls_handshake_msg.h>
-#include <botan/x509_ca.h>
-#include <botan/x509self.h>
-
-#if defined(BOTAN_HAS_DSA)
- #include <botan/dsa.h>
-#endif
-
-#if defined(BOTAN_HAS_TLS_SQLITE3_SESSION_MANAGER)
- #include <botan/tls_session_manager_sqlite.h>
-#endif
+ #include <botan/tls_client.h>
+ #include <botan/tls_server.h>
+
+ #include <botan/ec_group.h>
+ #include <botan/hex.h>
+ #include <botan/pkcs10.h>
+ #include <botan/rsa.h>
+ #include <botan/ecdsa.h>
+ #include <botan/tls_handshake_msg.h>
+ #include <botan/x509_ca.h>
+ #include <botan/x509self.h>
+
+ #if defined(BOTAN_HAS_DSA)
+ #include <botan/dsa.h>
+ #endif
+
+ #if defined(BOTAN_HAS_TLS_SQLITE3_SESSION_MANAGER)
+ #include <botan/tls_session_manager_sqlite.h>
+ #endif
#endif
@@ -93,8 +93,10 @@ class Credentials_Manager_Test : public Botan::Credentials_Manager
const std::string&) override
{
std::vector<Botan::Certificate_Store*> v;
- for(auto&& store : m_stores)
+ for(auto const& store : m_stores)
+ {
v.push_back(store.get());
+ }
return v;
}
@@ -107,7 +109,7 @@ class Credentials_Manager_Test : public Botan::Credentials_Manager
if(type == "tls-server" || (type == "tls-client" && m_provides_client_certs))
{
- for(auto&& key_type : cert_key_types)
+ for(auto const& key_type : cert_key_types)
{
if(key_type == "RSA")
{
@@ -146,11 +148,17 @@ class Credentials_Manager_Test : public Botan::Credentials_Manager
const std::string&) override
{
if(crt == m_rsa_cert)
+ {
return m_rsa_key.get();
+ }
if(crt == m_ecdsa_cert)
+ {
return m_ecdsa_key.get();
+ }
if(crt == *m_dsa_cert)
+ {
return m_dsa_key.get();
+ }
return nullptr;
}
@@ -159,13 +167,19 @@ class Credentials_Manager_Test : public Botan::Credentials_Manager
const std::string&) override
{
if(type == "tls-server" && context == "session-ticket")
+ {
return Botan::SymmetricKey("AABBCCDDEEFF012345678012345678");
+ }
if(context == "server.example.com" && type == "tls-client")
+ {
return Botan::SymmetricKey("20B602D1475F2DF888FCB60D2AE03AFD");
+ }
if(context == "server.example.com" && type == "tls-server")
+ {
return Botan::SymmetricKey("20B602D1475F2DF888FCB60D2AE03AFD");
+ }
throw Test_Error("No PSK set for " + type + "/" + context);
}
@@ -249,14 +263,14 @@ create_creds(Botan::RandomNumberGenerator& rng,
dsa_ca_opts.CA_key(1);
dsa_ca_cert.reset(new Botan::X509_Certificate(
- Botan::X509::create_self_signed_cert(dsa_ca_opts, *dsa_ca_key, "SHA-256", rng)));
+ Botan::X509::create_self_signed_cert(dsa_ca_opts, *dsa_ca_key, "SHA-256", rng)));
const Botan::PKCS10_Request dsa_req =
- Botan::X509::create_cert_req(server_opts, *dsa_srv_key, "SHA-256", rng);
+ Botan::X509::create_cert_req(server_opts, *dsa_srv_key, "SHA-256", rng);
Botan::X509_CA dsa_ca(*dsa_ca_cert, *dsa_ca_key, "SHA-256", rng);
dsa_srv_cert.reset(new Botan::X509_Certificate(
- dsa_ca.sign_request(dsa_req, rng, start_time, end_time)));
+ dsa_ca.sign_request(dsa_req, rng, start_time, end_time)));
dsa_crl.reset(new Botan::X509_CRL(dsa_ca.new_crl(rng)));
#endif
@@ -301,7 +315,8 @@ Test::Result test_tls_handshake(Botan::TLS::Protocol_Version offer_version,
result.test_note("Test round " + std::to_string(r));
- auto handshake_complete = [&](const Botan::TLS::Session& session) -> bool {
+ auto handshake_complete = [&](const Botan::TLS::Session& session)
+ {
handshake_done = true;
const std::string session_report =
@@ -313,16 +328,18 @@ Test::Result test_tls_handshake(Botan::TLS::Protocol_Version offer_version,
if(session.version() != offer_version)
{
- result.test_failure("Offered " + offer_version.to_string() +
- " got " + session.version().to_string());
+ result.test_failure("Offered " + offer_version.to_string() + " got " + session.version().to_string());
}
if(r <= 2)
+ {
return true;
+ }
return false;
- };
+ };
- auto next_protocol_chooser = [&](std::vector<std::string> protos) -> std::string {
+ auto next_protocol_chooser = [&](std::vector<std::string> protos) -> std::string
+ {
if(r <= 2)
{
result.test_eq("protocol count", protos.size(), 2);
@@ -330,7 +347,7 @@ Test::Result test_tls_handshake(Botan::TLS::Protocol_Version offer_version,
result.test_eq("protocol[1]", protos[1], "test/2");
}
return "test/3";
- };
+ };
const std::vector<std::string> protocols_offered = { "test/1", "test/2" };
@@ -339,12 +356,12 @@ Test::Result test_tls_handshake(Botan::TLS::Protocol_Version offer_version,
std::vector<uint8_t> c2s_traffic, s2c_traffic, client_recv, server_recv, client_sent, server_sent;
std::unique_ptr<Botan::TLS::Callbacks> server_cb(new Botan::TLS::Compat_Callbacks(
- queue_inserter(s2c_traffic),
- queue_inserter(server_recv),
- std::function<void (Botan::TLS::Alert, const uint8_t[], size_t)>(alert_cb_with_data),
- handshake_complete,
- nullptr,
- next_protocol_chooser));
+ queue_inserter(s2c_traffic),
+ queue_inserter(server_recv),
+ std::function<void (Botan::TLS::Alert, const uint8_t[], size_t)>(alert_cb_with_data),
+ handshake_complete,
+ nullptr,
+ next_protocol_chooser));
// TLS::Server object constructed by new constructor using virtual callback interface.
std::unique_ptr<Botan::TLS::Server> server(
@@ -356,10 +373,10 @@ Test::Result test_tls_handshake(Botan::TLS::Protocol_Version offer_version,
false));
std::unique_ptr<Botan::TLS::Callbacks> client_cb(new Botan::TLS::Compat_Callbacks(
- queue_inserter(c2s_traffic),
- queue_inserter(client_recv),
- std::function<void (Botan::TLS::Alert, const uint8_t[], size_t)>(alert_cb_with_data),
- handshake_complete));
+ queue_inserter(c2s_traffic),
+ queue_inserter(client_recv),
+ std::function<void (Botan::TLS::Alert, const uint8_t[], size_t)>(alert_cb_with_data),
+ handshake_complete));
// TLS::Client object constructed by new constructor using virtual callback interface.
std::unique_ptr<Botan::TLS::Client> client(
@@ -428,7 +445,9 @@ Test::Result test_tls_handshake(Botan::TLS::Protocol_Version offer_version,
}
if(handshake_done && (client->is_closed() || server->is_closed()))
+ {
break;
+ }
if(client->is_active() && client_sent.empty())
{
@@ -491,8 +510,8 @@ Test::Result test_tls_handshake(Botan::TLS::Protocol_Version offer_version,
size_t total_consumed = needed;
while(needed > 0 &&
- result.test_lt("Never requesting more than max protocol len", needed, Botan::TLS::MAX_CIPHERTEXT_SIZE+1) &&
- result.test_lt("Total requested is readonable", total_consumed, 128*1024))
+ result.test_lt("Never requesting more than max protocol len", needed, Botan::TLS::MAX_CIPHERTEXT_SIZE + 1) &&
+ result.test_lt("Total requested is readonable", total_consumed, 128 * 1024))
{
input.resize(needed);
rng.randomize(input.data(), input.size());
@@ -521,7 +540,8 @@ Test::Result test_tls_handshake(Botan::TLS::Protocol_Version offer_version,
size_t total_consumed = 0;
- while(needed > 0 && result.test_lt("Never requesting more than max protocol len", needed, Botan::TLS::MAX_CIPHERTEXT_SIZE+1))
+ while(needed > 0 &&
+ result.test_lt("Never requesting more than max protocol len", needed, Botan::TLS::MAX_CIPHERTEXT_SIZE + 1))
{
input.resize(needed);
rng.randomize(input.data(), input.size());
@@ -557,7 +577,9 @@ Test::Result test_tls_handshake(Botan::TLS::Protocol_Version offer_version,
}
if(client->is_closed() && server->is_closed())
+ {
break;
+ }
if(server_recv.size() && client_recv.size())
{
@@ -567,9 +589,13 @@ Test::Result test_tls_handshake(Botan::TLS::Protocol_Version offer_version,
result.test_eq("TLS key material export", client_key.bits_of(), server_key.bits_of());
if(r % 2 == 0)
+ {
client->close();
+ }
else
+ {
server->close();
+ }
}
}
}
@@ -621,19 +647,20 @@ Test::Result test_dtls_handshake(Botan::TLS::Protocol_Version offer_version,
{
bool handshake_done = false;
- auto handshake_complete = [&](const Botan::TLS::Session& session) -> bool {
+ auto handshake_complete = [&](const Botan::TLS::Session & session) -> bool
+ {
handshake_done = true;
if(session.version() != offer_version)
{
- result.test_failure("Offered " + offer_version.to_string() +
- " got " + session.version().to_string());
+ result.test_failure("Offered " + offer_version.to_string() + " got " + session.version().to_string());
}
return true;
- };
+ };
- auto next_protocol_chooser = [&](std::vector<std::string> protos) -> std::string {
+ auto next_protocol_chooser = [&](std::vector<std::string> protos) -> std::string
+ {
if(r <= 2)
{
result.test_eq("protocol count", protos.size(), 2);
@@ -641,7 +668,7 @@ Test::Result test_dtls_handshake(Botan::TLS::Protocol_Version offer_version,
result.test_eq("protocol[1]", protos[1], "test/2");
}
return "test/3";
- };
+ };
const std::vector<std::string> protocols_offered = { "test/1", "test/2" };
@@ -650,18 +677,18 @@ Test::Result test_dtls_handshake(Botan::TLS::Protocol_Version offer_version,
std::vector<uint8_t> c2s_traffic, s2c_traffic, client_recv, server_recv, client_sent, server_sent;
std::unique_ptr<Botan::TLS::Callbacks> server_cb(new Botan::TLS::Compat_Callbacks(
- queue_inserter(s2c_traffic),
- queue_inserter(server_recv),
- std::function<void (Botan::TLS::Alert)>(print_alert),
- handshake_complete,
- nullptr,
- next_protocol_chooser));
+ queue_inserter(s2c_traffic),
+ queue_inserter(server_recv),
+ std::function<void (Botan::TLS::Alert)>(print_alert),
+ handshake_complete,
+ nullptr,
+ next_protocol_chooser));
std::unique_ptr<Botan::TLS::Callbacks> client_cb(new Botan::TLS::Compat_Callbacks(
- queue_inserter(c2s_traffic),
- queue_inserter(client_recv),
- std::function<void (Botan::TLS::Alert)>(print_alert),
- handshake_complete));
+ queue_inserter(c2s_traffic),
+ queue_inserter(client_recv),
+ std::function<void (Botan::TLS::Alert)>(print_alert),
+ handshake_complete));
// TLS::Server object constructed by new constructor using virtual callback interface.
std::unique_ptr<Botan::TLS::Server> server(
@@ -686,7 +713,7 @@ Test::Result test_dtls_handshake(Botan::TLS::Protocol_Version offer_version,
size_t rounds = 0;
// Test DTLS using both new and legacy constructors.
- for(size_t ctor_sel = 0; ctor_sel < 2; ctor_sel++)
+ for(size_t ctor_sel = 0; ctor_sel < 2; ++ctor_sel)
{
if(ctor_sel == 1)
{
@@ -737,7 +764,9 @@ Test::Result test_dtls_handshake(Botan::TLS::Protocol_Version offer_version,
}
if(handshake_done && (client->is_closed() || server->is_closed()))
+ {
break;
+ }
if(client->is_active() && client_sent.empty())
{
@@ -776,7 +805,8 @@ Test::Result test_dtls_handshake(Botan::TLS::Protocol_Version offer_version,
input = Test::mutate_vec(input, true, 5);
size_t needed = server->received_data(input.data(), input.size());
- if(needed > 0 && result.test_lt("Never requesting more than max protocol len", needed, Botan::TLS::MAX_CIPHERTEXT_SIZE+1))
+ if(needed > 0 &&
+ result.test_lt("Never requesting more than max protocol len", needed, Botan::TLS::MAX_CIPHERTEXT_SIZE + 1))
{
input.resize(needed);
rng.randomize(input.data(), input.size());
@@ -816,7 +846,8 @@ Test::Result test_dtls_handshake(Botan::TLS::Protocol_Version offer_version,
input = Test::mutate_vec(input, true, 5);
size_t needed = client->received_data(input.data(), input.size());
- if(needed > 0 && result.test_lt("Never requesting more than max protocol len", needed, Botan::TLS::MAX_CIPHERTEXT_SIZE+1))
+ if(needed > 0 &&
+ result.test_lt("Never requesting more than max protocol len", needed, Botan::TLS::MAX_CIPHERTEXT_SIZE + 1))
{
input.resize(needed);
rng.randomize(input.data(), input.size());
@@ -846,9 +877,13 @@ Test::Result test_dtls_handshake(Botan::TLS::Protocol_Version offer_version,
// If we corrupted a DTLS application message, resend it:
if(client->is_active() && corrupt_client_data && server_recv.empty())
+ {
client->send(client_sent);
+ }
if(server->is_active() && corrupt_server_data && client_recv.empty())
+ {
server->send(server_sent);
+ }
if(client_recv.size())
{
@@ -861,7 +896,9 @@ Test::Result test_dtls_handshake(Botan::TLS::Protocol_Version offer_version,
}
if(client->is_closed() && server->is_closed())
+ {
break;
+ }
if(server_recv.size() && client_recv.size())
{
@@ -871,9 +908,13 @@ Test::Result test_dtls_handshake(Botan::TLS::Protocol_Version offer_version,
result.test_eq("key material export", client_key.bits_of(), server_key.bits_of());
if(r % 2 == 0)
+ {
client->close();
+ }
else
+ {
server->close();
+ }
}
}
}
@@ -909,22 +950,41 @@ class Test_Policy : public Botan::TLS::Text_Policy
{
public:
Test_Policy() : Text_Policy("") {}
- bool acceptable_protocol_version(Botan::TLS::Protocol_Version) const override { return true; }
- bool send_fallback_scsv(Botan::TLS::Protocol_Version) const override { return false; }
+ bool acceptable_protocol_version(Botan::TLS::Protocol_Version) const override
+ {
+ return true;
+ }
+ bool send_fallback_scsv(Botan::TLS::Protocol_Version) const override
+ {
+ return false;
+ }
- size_t dtls_initial_timeout() const override { return 1; }
- size_t dtls_maximum_timeout() const override { return 8; }
+ size_t dtls_initial_timeout() const override
+ {
+ return 1;
+ }
+ size_t dtls_maximum_timeout() const override
+ {
+ return 8;
+ }
- size_t minimum_rsa_bits() const override { return 1024; }
+ size_t minimum_rsa_bits() const override
+ {
+ return 1024;
+ }
- size_t minimum_signature_strength() const override { return 80; }
+ size_t minimum_signature_strength() const override
+ {
+ return 80;
+ }
};
Test::Result test_tls_alert_strings()
{
Test::Result result("TLS::Alert::type_string");
- const std::vector<Botan::TLS::Alert::Type> alert_types = {
+ const std::vector<Botan::TLS::Alert::Type> alert_types =
+ {
Botan::TLS::Alert::CLOSE_NOTIFY,
Botan::TLS::Alert::UNEXPECTED_MESSAGE,
Botan::TLS::Alert::BAD_RECORD_MAC,
@@ -957,7 +1017,7 @@ Test::Result test_tls_alert_strings()
Botan::TLS::Alert::BAD_CERTIFICATE_HASH_VALUE,
Botan::TLS::Alert::UNKNOWN_PSK_IDENTITY,
Botan::TLS::Alert:: NO_APPLICATION_PROTOCOL,
- };
+ };
std::set<std::string> seen;
@@ -968,7 +1028,7 @@ Test::Result test_tls_alert_strings()
seen.insert(str);
}
- Botan::TLS::Alert unknown_alert = Botan::TLS::Alert(Botan::secure_vector<uint8_t>{01, 66});
+ Botan::TLS::Alert unknown_alert = Botan::TLS::Alert({01, 66});
result.test_eq("Unknown alert str", unknown_alert.type_string(), "unrecognized_alert_66");
@@ -982,7 +1042,9 @@ std::string read_tls_policy(const std::string& policy_str)
std::ifstream is(fspath.c_str());
if(!is.good())
+ {
throw Test_Error("Missing policy file " + fspath);
+ }
Botan::TLS::Text_Policy policy(is);
return policy.to_string();
@@ -992,17 +1054,29 @@ std::string tls_policy_string(const std::string& policy_str)
{
std::unique_ptr<Botan::TLS::Policy> policy;
if(policy_str == "default")
+ {
policy.reset(new Botan::TLS::Policy);
+ }
else if(policy_str == "suiteb")
+ {
policy.reset(new Botan::TLS::NSA_Suite_B_128);
+ }
else if(policy_str == "bsi")
+ {
policy.reset(new Botan::TLS::BSI_TR_02102_2);
+ }
else if(policy_str == "strict")
+ {
policy.reset(new Botan::TLS::Strict_Policy);
+ }
else if(policy_str == "datagram")
+ {
policy.reset(new Botan::TLS::Datagram_Policy);
+ }
else
+ {
throw Test_Error("Unknown TLS policy type '" + policy_str + "'");
+ }
return policy->to_string();
}
@@ -1035,12 +1109,16 @@ class TLS_Unit_Tests : public Test
{
Botan::RandomNumberGenerator& rng = Test::rng();
- for(auto&& version : versions)
+ for(auto const& version : versions)
{
if(version.is_datagram_protocol())
+ {
results.push_back(test_dtls_handshake(version, creds, policy, rng, client_ses, server_ses));
+ }
else
+ {
results.push_back(test_tls_handshake(version, creds, policy, rng, client_ses, server_ses));
+ }
}
}
@@ -1060,15 +1138,18 @@ class TLS_Unit_Tests : public Test
policy.set("negotiate_encrypt_then_mac", etm_policy);
if(kex_policy == "RSA")
+ {
policy.set("signature_methods", "RSA");
+ }
- std::vector<Botan::TLS::Protocol_Version> versions = {
+ std::vector<Botan::TLS::Protocol_Version> versions =
+ {
Botan::TLS::Protocol_Version::TLS_V10,
Botan::TLS::Protocol_Version::TLS_V11,
Botan::TLS::Protocol_Version::TLS_V12,
Botan::TLS::Protocol_Version::DTLS_V10,
Botan::TLS::Protocol_Version::DTLS_V12
- };
+ };
return test_with_policy(results, client_ses, server_ses, creds, versions, policy);
}
@@ -1100,13 +1181,16 @@ class TLS_Unit_Tests : public Test
policy.set("macs", mac_policy);
policy.set("key_exchange_methods", kex_policy);
- for(auto&& kv : extra_policies)
+ for(auto const& kv : extra_policies)
+ {
policy.set(kv.first, kv.second);
+ }
- std::vector<Botan::TLS::Protocol_Version> versions = {
+ std::vector<Botan::TLS::Protocol_Version> versions =
+ {
Botan::TLS::Protocol_Version::TLS_V12,
Botan::TLS::Protocol_Version::DTLS_V12
- };
+ };
return test_with_policy(results, client_ses, server_ses, creds, versions, policy);
}
@@ -1124,9 +1208,13 @@ class TLS_Unit_Tests : public Test
result.test_eq("Valid Ciphersuite is not SCSV", Botan::TLS::Ciphersuite::is_scsv(csuite_id), false);
if(ciphersuite.cbc_ciphersuite() == false)
+ {
result.test_eq("Expected MAC name for AEAD ciphersuites", ciphersuite.mac_algo(), "AEAD");
+ }
else
+ {
result.test_eq("MAC algo and PRF algo same for CBC suites", ciphersuite.prf_algo(), ciphersuite.mac_algo());
+ }
// TODO more tests here
}
@@ -1151,10 +1239,10 @@ class TLS_Unit_Tests : public Test
#if defined(BOTAN_HAS_TLS_SQLITE3_SESSION_MANAGER)
client_ses.reset(
new Botan::TLS::Session_Manager_SQLite("pass", rng, ":memory:", 5,
- std::chrono::seconds(2)));
+ std::chrono::seconds(2)));
server_ses.reset(
new Botan::TLS::Session_Manager_SQLite("pass", rng, ":memory:", 10,
- std::chrono::seconds(4)));
+ std::chrono::seconds(4)));
#else
client_ses.reset(new Botan::TLS::Session_Manager_In_Memory(rng));
server_ses.reset(new Botan::TLS::Session_Manager_In_Memory(rng));
@@ -1173,7 +1261,8 @@ class TLS_Unit_Tests : public Test
#if defined(BOTAN_HAS_CAMELLIA)
test_all_versions(results, *client_ses, *server_ses, *creds, "RSA", "Camellia-128", "SHA-256 SHA-1", etm_setting);
- test_all_versions(results, *client_ses, *server_ses, *creds, "RSA", "Camellia-256", "SHA-256 SHA-384 SHA-1", etm_setting);
+ test_all_versions(results, *client_ses, *server_ses, *creds, "RSA", "Camellia-256", "SHA-256 SHA-384 SHA-1",
+ etm_setting);
#endif
#if defined(BOTAN_HAS_DES)
@@ -1193,20 +1282,20 @@ class TLS_Unit_Tests : public Test
#if defined(BOTAN_HAS_DSA)
test_modern_versions(results, *client_ses, *server_ses, *creds, "DH", "AES-128", "SHA-256",
- { { "signature_methods", "DSA" } });
+ { { "signature_methods", "DSA" } });
test_modern_versions(results, *client_ses, *server_ses, *creds, "DH", "AES-256", "SHA-256",
- { { "signature_methods", "DSA" } });
+ { { "signature_methods", "DSA" } });
#endif
#endif
Botan::TLS::Strict_Policy strict_policy;
test_with_policy(results, *client_ses, *server_ses, *creds,
- {Botan::TLS::Protocol_Version::TLS_V12}, strict_policy);
+ {Botan::TLS::Protocol_Version::TLS_V12}, strict_policy);
Botan::TLS::NSA_Suite_B_128 suiteb_128;
test_with_policy(results, *client_ses, *server_ses, *creds,
- {Botan::TLS::Protocol_Version::TLS_V12}, suiteb_128);
+ {Botan::TLS::Protocol_Version::TLS_V12}, suiteb_128);
// Remove server sessions before client, so clients retry with session server doesn't know
server_ses->remove_all();
@@ -1215,13 +1304,13 @@ class TLS_Unit_Tests : public Test
test_modern_versions(results, *client_ses, *server_ses, *creds, "ECDH", "AES-128/GCM");
test_modern_versions(results, *client_ses, *server_ses, *creds, "ECDH", "AES-128/GCM", "AEAD",
- { { "signature_methods", "RSA" } });
+ { { "signature_methods", "RSA" } });
#if defined(BOTAN_HAS_DSA)
test_modern_versions(results, *client_ses, *server_ses, *creds, "DH", "AES-128/GCM", "AEAD",
- { { "signature_methods", "DSA" } });
+ { { "signature_methods", "DSA" } });
test_modern_versions(results, *client_ses, *server_ses, *creds, "DH", "AES-256/GCM", "AEAD",
- { { "signature_methods", "DSA" } });
+ { { "signature_methods", "DSA" } });
#endif
client_ses->remove_all();
@@ -1242,26 +1331,26 @@ class TLS_Unit_Tests : public Test
#if defined(BOTAN_HAS_AES) && defined(BOTAN_HAS_AEAD_OCB)
test_modern_versions(results, *client_ses, *server_ses, *creds, "CECPQ1", "AES-256/OCB(12)", "AEAD");
test_modern_versions(results, *client_ses, *server_ses, *creds, "CECPQ1", "AES-256/OCB(12)", "AEAD",
- {{ "signature_methods", "RSA" }});
+ {{ "signature_methods", "RSA" }});
#endif
#if defined(BOTAN_HAS_AEAD_CHACHA20_POLY1305)
test_modern_versions(results, *client_ses, *server_ses, *creds, "CECPQ1", "ChaCha20Poly1305", "AEAD",
- { { "signature_methods", "RSA" }});
+ { { "signature_methods", "RSA" }});
#endif
#endif
test_modern_versions(results, *client_ses, *server_ses, *creds, "ECDH", "AES-128/GCM", "AEAD",
- { { "use_ecc_point_compression", "true" } });
+ { { "use_ecc_point_compression", "true" } });
test_modern_versions(results, *client_ses, *server_ses, *creds, "ECDH", "AES-256/GCM", "AEAD",
- { { "ecc_curves", "secp521r1" } });
+ { { "ecc_curves", "secp521r1" } });
test_modern_versions(results, *client_ses, *server_ses, *creds, "ECDH", "AES-128/GCM", "AEAD",
- { { "ecc_curves", "brainpool256r1" } });
+ { { "ecc_curves", "brainpool256r1" } });
#if defined(BOTAN_HAS_CURVE_25519)
test_modern_versions(results, *client_ses, *server_ses, *creds, "ECDH", "AES-128/GCM", "AEAD",
- { { "ecc_curves", "x25519" } });
+ { { "ecc_curves", "x25519" } });
#endif
std::unique_ptr<Botan::Credentials_Manager> creds_with_client_cert(create_creds(rng, true));
@@ -1297,7 +1386,7 @@ class TLS_Unit_Tests : public Test
#if defined(BOTAN_HOUSE_ECC_CURVE_NAME)
test_modern_versions(results, *client_ses, *server_ses, *creds, "ECDH", "AES-128/GCM", "AEAD",
- { { "ecc_curves", BOTAN_HOUSE_ECC_CURVE_NAME } });
+ { { "ecc_curves", BOTAN_HOUSE_ECC_CURVE_NAME } });
#endif
return results;