| Index: net/quic/quic_stream_factory.cc
|
| diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc
|
| index 2ca1ed331ec4c3e2223e5ee50f83804f51df828f..3aec036970a4ac855d9c45c8a6547e8980d4055e 100644
|
| --- a/net/quic/quic_stream_factory.cc
|
| +++ b/net/quic/quic_stream_factory.cc
|
| @@ -35,6 +35,10 @@
|
| #include "net/quic/quic_session_key.h"
|
| #include "net/socket/client_socket_factory.h"
|
|
|
| +#if defined(OS_WIN)
|
| +#include "base/win/windows_version.h"
|
| +#endif
|
| +
|
| using std::string;
|
| using std::vector;
|
|
|
| @@ -56,6 +60,15 @@ void HistogramCreateSessionFailure(enum CreateSessionFailure error) {
|
| CREATION_ERROR_MAX);
|
| }
|
|
|
| +bool IsEcdsaSupported() {
|
| +#if defined(OS_WIN)
|
| + if (base::win::GetVersion() < base::win::VERSION_VISTA)
|
| + return false;
|
| +#endif
|
| +
|
| + return true;
|
| +}
|
| +
|
| } // namespace
|
|
|
| QuicStreamFactory::IpAliasKey::IpAliasKey() {}
|
| @@ -397,9 +410,10 @@ QuicStreamFactory::QuicStreamFactory(
|
| crypto_config_.AddCanonicalSuffix(".googlevideo.com");
|
| crypto_config_.SetProofVerifier(new ProofVerifierChromium(cert_verifier));
|
| base::CPU cpu;
|
| - if (cpu.has_aesni() && cpu.has_avx()) {
|
| + if (cpu.has_aesni() && cpu.has_avx())
|
| crypto_config_.PreferAesGcm();
|
| - }
|
| + if (!IsEcdsaSupported())
|
| + crypto_config_.DisableEcdsa();
|
| }
|
|
|
| QuicStreamFactory::~QuicStreamFactory() {
|
|
|