| Index: third_party/tlslite/tlslite/constants.py
|
| diff --git a/third_party/tlslite/tlslite/constants.py b/third_party/tlslite/tlslite/constants.py
|
| index 457b33934de98c8e8e49d1f8d26944ce0ffd59bd..7ee70be720e2611acedaeeb790ff4534e1f16ffe 100644
|
| --- a/third_party/tlslite/tlslite/constants.py
|
| +++ b/third_party/tlslite/tlslite/constants.py
|
| @@ -4,6 +4,7 @@
|
| # Google (adapted by Sam Rushing) - NPN support
|
| # Dimitris Moraitis - Anon ciphersuites
|
| # Dave Baggett (Arcode Corporation) - canonicalCipherName
|
| +# Yngve Pettersen (ported by Paul Sokolovsky) - TLS 1.2
|
| #
|
| # See the LICENSE file for legal information regarding use of this file.
|
|
|
| @@ -57,6 +58,20 @@ class ExtensionType: # RFC 6066 / 4366
|
| tack = 0xF300
|
| supports_npn = 13172
|
| channel_id = 30032
|
| +
|
| +class HashAlgorithm:
|
| + none = 0
|
| + md5 = 1
|
| + sha1 = 2
|
| + sha224 = 3
|
| + sha256 = 4
|
| + sha384 = 5
|
| +
|
| +class SignatureAlgorithm:
|
| + anonymous = 0
|
| + rsa = 1
|
| + dsa = 2
|
| + ecdsa = 3
|
|
|
| class NameType:
|
| host_name = 0
|
| @@ -128,7 +143,7 @@ class CipherSuite:
|
| # prevents renegotiation attacks
|
| TLS_EMPTY_RENEGOTIATION_INFO_SCSV = 0x00FF
|
|
|
| - # draft-bmoeller-tls-downgrade-scsv-01
|
| + # draft-ietf-tls-downgrade-scsv-03
|
| TLS_FALLBACK_SCSV = 0x5600
|
|
|
| TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA = 0xC01A
|
| @@ -154,6 +169,12 @@ class CipherSuite:
|
| TLS_DH_ANON_WITH_AES_128_CBC_SHA = 0x0034
|
| TLS_DH_ANON_WITH_AES_256_CBC_SHA = 0x003A
|
|
|
| + TLS_RSA_WITH_AES_128_CBC_SHA256 = 0x003C
|
| + TLS_RSA_WITH_AES_256_CBC_SHA256 = 0x003D
|
| +
|
| + TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 0x0067
|
| + TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 0x006B
|
| +
|
| tripleDESSuites = []
|
| tripleDESSuites.append(TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA)
|
| tripleDESSuites.append(TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA)
|
| @@ -166,13 +187,17 @@ class CipherSuite:
|
| aes128Suites.append(TLS_RSA_WITH_AES_128_CBC_SHA)
|
| aes128Suites.append(TLS_DHE_RSA_WITH_AES_128_CBC_SHA)
|
| aes128Suites.append(TLS_DH_ANON_WITH_AES_128_CBC_SHA)
|
| + aes128Suites.append(TLS_RSA_WITH_AES_128_CBC_SHA256)
|
| + aes128Suites.append(TLS_DHE_RSA_WITH_AES_128_CBC_SHA256)
|
|
|
| aes256Suites = []
|
| aes256Suites.append(TLS_SRP_SHA_WITH_AES_256_CBC_SHA)
|
| aes256Suites.append(TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA)
|
| aes256Suites.append(TLS_RSA_WITH_AES_256_CBC_SHA)
|
| - aes256Suites.append(TLS_DHE_RSA_WITH_AES_256_CBC_SHA)
|
| aes256Suites.append(TLS_DH_ANON_WITH_AES_256_CBC_SHA)
|
| + aes256Suites.append(TLS_DHE_RSA_WITH_AES_256_CBC_SHA)
|
| + aes256Suites.append(TLS_RSA_WITH_AES_256_CBC_SHA256)
|
| + aes256Suites.append(TLS_DHE_RSA_WITH_AES_256_CBC_SHA256)
|
|
|
| rc4Suites = []
|
| rc4Suites.append(TLS_RSA_WITH_RC4_128_SHA)
|
| @@ -195,6 +220,13 @@ class CipherSuite:
|
| shaSuites.append(TLS_DH_ANON_WITH_AES_128_CBC_SHA)
|
| shaSuites.append(TLS_DH_ANON_WITH_AES_256_CBC_SHA)
|
|
|
| + sha256Suites = []
|
| + sha256Suites.append(TLS_RSA_WITH_AES_128_CBC_SHA256)
|
| + sha256Suites.append(TLS_RSA_WITH_AES_256_CBC_SHA256)
|
| + sha256Suites.append(TLS_DHE_RSA_WITH_AES_128_CBC_SHA256)
|
| + sha256Suites.append(TLS_DHE_RSA_WITH_AES_256_CBC_SHA256)
|
| +
|
| +
|
| md5Suites = []
|
| md5Suites.append(TLS_RSA_WITH_RC4_128_MD5)
|
|
|
| @@ -206,6 +238,8 @@ class CipherSuite:
|
| macSuites = []
|
| if "sha" in macNames:
|
| macSuites += CipherSuite.shaSuites
|
| + if "sha256" in macNames:
|
| + macSuites += CipherSuite.sha256Suites
|
| if "md5" in macNames:
|
| macSuites += CipherSuite.md5Suites
|
|
|
| @@ -235,33 +269,35 @@ class CipherSuite:
|
| s in cipherSuites and s in keyExchangeSuites]
|
|
|
| srpSuites = []
|
| - srpSuites.append(TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA)
|
| - srpSuites.append(TLS_SRP_SHA_WITH_AES_128_CBC_SHA)
|
| srpSuites.append(TLS_SRP_SHA_WITH_AES_256_CBC_SHA)
|
| + srpSuites.append(TLS_SRP_SHA_WITH_AES_128_CBC_SHA)
|
| + srpSuites.append(TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA)
|
|
|
| @staticmethod
|
| def getSrpSuites(settings):
|
| return CipherSuite._filterSuites(CipherSuite.srpSuites, settings)
|
|
|
| srpCertSuites = []
|
| - srpCertSuites.append(TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA)
|
| - srpCertSuites.append(TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA)
|
| srpCertSuites.append(TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA)
|
| + srpCertSuites.append(TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA)
|
| + srpCertSuites.append(TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA)
|
|
|
| @staticmethod
|
| def getSrpCertSuites(settings):
|
| return CipherSuite._filterSuites(CipherSuite.srpCertSuites, settings)
|
|
|
| - srpAllSuites = srpCertSuites + srpSuites
|
| + srpAllSuites = srpSuites + srpCertSuites
|
|
|
| @staticmethod
|
| def getSrpAllSuites(settings):
|
| return CipherSuite._filterSuites(CipherSuite.srpAllSuites, settings)
|
|
|
| certSuites = []
|
| - certSuites.append(TLS_RSA_WITH_3DES_EDE_CBC_SHA)
|
| - certSuites.append(TLS_RSA_WITH_AES_128_CBC_SHA)
|
| + certSuites.append(TLS_RSA_WITH_AES_256_CBC_SHA256)
|
| + certSuites.append(TLS_RSA_WITH_AES_128_CBC_SHA256)
|
| certSuites.append(TLS_RSA_WITH_AES_256_CBC_SHA)
|
| + certSuites.append(TLS_RSA_WITH_AES_128_CBC_SHA)
|
| + certSuites.append(TLS_RSA_WITH_3DES_EDE_CBC_SHA)
|
| certSuites.append(TLS_RSA_WITH_RC4_128_SHA)
|
| certSuites.append(TLS_RSA_WITH_RC4_128_MD5)
|
|
|
| @@ -270,9 +306,11 @@ class CipherSuite:
|
| return CipherSuite._filterSuites(CipherSuite.certSuites, settings)
|
|
|
| dheCertSuites = []
|
| - dheCertSuites.append(TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA)
|
| - dheCertSuites.append(TLS_DHE_RSA_WITH_AES_128_CBC_SHA)
|
| + dheCertSuites.append(TLS_DHE_RSA_WITH_AES_256_CBC_SHA256)
|
| + dheCertSuites.append(TLS_DHE_RSA_WITH_AES_128_CBC_SHA256)
|
| dheCertSuites.append(TLS_DHE_RSA_WITH_AES_256_CBC_SHA)
|
| + dheCertSuites.append(TLS_DHE_RSA_WITH_AES_128_CBC_SHA)
|
| + dheCertSuites.append(TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA)
|
|
|
| @staticmethod
|
| def getDheCertSuites(settings):
|
| @@ -281,8 +319,8 @@ class CipherSuite:
|
| certAllSuites = srpCertSuites + certSuites + dheCertSuites
|
|
|
| anonSuites = []
|
| - anonSuites.append(TLS_DH_ANON_WITH_AES_128_CBC_SHA)
|
| anonSuites.append(TLS_DH_ANON_WITH_AES_256_CBC_SHA)
|
| + anonSuites.append(TLS_DH_ANON_WITH_AES_128_CBC_SHA)
|
|
|
| @staticmethod
|
| def getAnonSuites(settings):
|
|
|