Index: net/quic/quic_stream_factory.cc |
diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc |
index e98f0acdf1103c069d016aeb8e105faa854b8d1c..178338e78b94461df38bea117d6cf6ff51e54a7b 100644 |
--- a/net/quic/quic_stream_factory.cc |
+++ b/net/quic/quic_stream_factory.cc |
@@ -34,6 +34,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; |
@@ -43,6 +47,15 @@ namespace { |
const uint64 kBrokenAlternateProtocolDelaySecs = 300; |
+bool IsEcdsaSupported() { |
+#if defined(OS_WIN) |
+ if (base::win::GetVersion() < base::win::VERSION_VISTA) |
+ return false; |
+#endif |
+ |
+ return true; |
+} |
+ |
} // namespace |
QuicStreamFactory::IpAliasKey::IpAliasKey() {} |
@@ -383,6 +396,8 @@ QuicStreamFactory::QuicStreamFactory( |
crypto_config_.AddCanonicalSuffix(".c.youtube.com"); |
crypto_config_.AddCanonicalSuffix(".googlevideo.com"); |
crypto_config_.SetProofVerifier(new ProofVerifierChromium(cert_verifier)); |
+ if (!IsEcdsaSupported()) |
+ crypto_config_.DisableEcdsa(); |
} |
QuicStreamFactory::~QuicStreamFactory() { |