| Index: third_party/tlslite/tlslite/tlsconnection.py
|
| diff --git a/third_party/tlslite/tlslite/tlsconnection.py b/third_party/tlslite/tlslite/tlsconnection.py
|
| index dfac274b6e939f631db5099046c9b8f89838b60a..0a85d3cc98481d3e3f8afd1f8f4186ac5ce25bed 100644
|
| --- a/third_party/tlslite/tlslite/tlsconnection.py
|
| +++ b/third_party/tlslite/tlslite/tlsconnection.py
|
| @@ -24,7 +24,6 @@
|
| from .handshakesettings import HandshakeSettings
|
| from .utils.tackwrapper import *
|
| from .utils.rsakey import RSAKey
|
| -from .utils import p256
|
|
|
| class KeyExchange(object):
|
| def __init__(self, cipherSuite, clientHello, serverHello, privateKey):
|
| @@ -127,25 +126,6 @@
|
|
|
| S = powMod(dh_Yc, self.dh_Xs, self.dh_p)
|
| return numberToByteArray(S)
|
| -
|
| -class ECDHE_RSAKeyExchange(KeyExchange):
|
| - def makeServerKeyExchange(self):
|
| - public, self.private = p256.generatePublicPrivate()
|
| -
|
| - version = self.serverHello.server_version
|
| - serverKeyExchange = ServerKeyExchange(self.cipherSuite, version)
|
| - serverKeyExchange.createECDH(NamedCurve.secp256r1, bytearray(public))
|
| - hashBytes = serverKeyExchange.hash(self.clientHello.random,
|
| - self.serverHello.random)
|
| - if version >= (3,3):
|
| - # TODO: Signature algorithm negotiation not supported.
|
| - hashBytes = RSAKey.addPKCS1SHA1Prefix(hashBytes)
|
| - serverKeyExchange.signature = self.privateKey.sign(hashBytes)
|
| - return serverKeyExchange
|
| -
|
| - def processClientKeyExchange(self, clientKeyExchange):
|
| - ecdh_Yc = clientKeyExchange.ecdh_Yc
|
| - return bytearray(p256.generateSharedValue(bytes(ecdh_Yc), self.private))
|
|
|
| class TLSConnection(TLSRecordLayer):
|
| """
|
| @@ -1341,8 +1321,9 @@
|
| else: break
|
| premasterSecret = result
|
|
|
| - # Perform a certificate-based key exchange
|
| - elif cipherSuite in CipherSuite.certAllSuites:
|
| + # Perform the RSA or DHE_RSA key exchange
|
| + elif (cipherSuite in CipherSuite.certSuites or
|
| + cipherSuite in CipherSuite.dheCertSuites):
|
| if cipherSuite in CipherSuite.certSuites:
|
| keyExchange = RSAKeyExchange(cipherSuite,
|
| clientHello,
|
| @@ -1353,11 +1334,6 @@
|
| clientHello,
|
| serverHello,
|
| privateKey)
|
| - elif cipherSuite in CipherSuite.ecdheCertSuites:
|
| - keyExchange = ECDHE_RSAKeyExchange(cipherSuite,
|
| - clientHello,
|
| - serverHello,
|
| - privateKey)
|
| else:
|
| assert(False)
|
| for result in self._serverCertKeyExchange(clientHello, serverHello,
|
| @@ -1474,7 +1450,6 @@
|
| CipherSuite.getSrpCertSuites(settings, self.version)
|
| cipherSuites += CipherSuite.getSrpSuites(settings, self.version)
|
| elif certChain:
|
| - cipherSuites += CipherSuite.getEcdheCertSuites(settings, self.version)
|
| cipherSuites += CipherSuite.getDheCertSuites(settings, self.version)
|
| cipherSuites += CipherSuite.getCertSuites(settings, self.version)
|
| elif anon:
|
|
|