| Index: net/tools/testserver/testserver.py
|
| diff --git a/net/tools/testserver/testserver.py b/net/tools/testserver/testserver.py
|
| index 8f10d8a49924f02225acfbcf2b0a476dbdc05f03..1f82ecb91b3a795eb6230ef2c1a11f621ed8ec70 100755
|
| --- a/net/tools/testserver/testserver.py
|
| +++ b/net/tools/testserver/testserver.py
|
| @@ -149,7 +149,8 @@ class HTTPSServer(tlslite.api.TLSSocketServerMixIn,
|
| client verification."""
|
|
|
| def __init__(self, server_address, request_hander_class, pem_cert_and_key,
|
| - ssl_client_auth, ssl_client_cas, ssl_bulk_ciphers,
|
| + ssl_client_auth, ssl_client_cas,
|
| + ssl_bulk_ciphers, ssl_key_exchanges,
|
| record_resume_info, tls_intolerant, signed_cert_timestamps,
|
| fallback_scsv_enabled, ocsp_response):
|
| self.cert_chain = tlslite.api.X509CertChain()
|
| @@ -179,6 +180,8 @@ class HTTPSServer(tlslite.api.TLSSocketServerMixIn,
|
| self.ssl_handshake_settings = tlslite.api.HandshakeSettings()
|
| if ssl_bulk_ciphers is not None:
|
| self.ssl_handshake_settings.cipherNames = ssl_bulk_ciphers
|
| + if ssl_key_exchanges is not None:
|
| + self.ssl_handshake_settings.keyExchangeNames = ssl_key_exchanges
|
|
|
| if record_resume_info:
|
| # If record_resume_info is true then we'll replace the session cache with
|
| @@ -1979,6 +1982,7 @@ class ServerRunner(testserver_base.TestServerRunner):
|
| self.options.ssl_client_auth,
|
| self.options.ssl_client_ca,
|
| self.options.ssl_bulk_cipher,
|
| + self.options.ssl_key_exchange,
|
| self.options.record_resume,
|
| self.options.tls_intolerant,
|
| self.options.signed_cert_timestamps_tls_ext.decode(
|
| @@ -2167,6 +2171,14 @@ class ServerRunner(testserver_base.TestServerRunner):
|
| 'algorithms will be used. This option may '
|
| 'appear multiple times, indicating '
|
| 'multiple algorithms should be enabled.');
|
| + self.option_parser.add_option('--ssl-key-exchange', action='append',
|
| + help='Specify the key exchange algorithm(s)'
|
| + 'that will be accepted by the SSL server. '
|
| + 'Valid values are "rsa", "dhe_rsa". If '
|
| + 'omitted, all algorithms will be used. This '
|
| + 'option may appear multiple times, '
|
| + 'indicating multiple algorithms should be '
|
| + 'enabled.');
|
| self.option_parser.add_option('--file-root-url', default='/files/',
|
| help='Specify a root URL for files served.')
|
|
|
|
|