aboutsummaryrefslogtreecommitdiffstats
path: root/src/tls/tls_server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tls/tls_server.cpp')
-rw-r--r--src/tls/tls_server.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/tls/tls_server.cpp b/src/tls/tls_server.cpp
index c2627ac23..90ce3bf88 100644
--- a/src/tls/tls_server.cpp
+++ b/src/tls/tls_server.cpp
@@ -9,7 +9,6 @@
#include <botan/internal/tls_handshake_state.h>
#include <botan/internal/tls_messages.h>
#include <botan/internal/stl_util.h>
-#include <botan/rsa.h>
#include <botan/dh.h>
namespace Botan {
@@ -269,15 +268,13 @@ void TLS_Server::process_handshake_msg(Handshake_Type type,
else
state->kex_priv = PKCS8::copy_key(*private_key, rng);
- if(policy.require_client_auth())
- {
- // FIXME: figure out the allowed CAs/cert types
-
- std::vector<X509_Certificate> allowed_cas;
+ std::vector<X509_Certificate> client_auth_CAs = policy.client_auth_CAs();
+ if(!client_auth_CAs.empty() && state->suite.sig_algo() != "")
+ {
state->cert_req = new Certificate_Req(writer,
state->hash,
- allowed_cas,
+ client_auth_CAs,
state->version);
state->set_expected_next(CERTIFICATE);