    // Set SSL to client mode. Handshake happens in the loop below.
    SSL_set_connect_state(ssl_.get());
  
-@@ -1127,6 +1172,86 @@ int SSLClientSocketImpl::DoVerifyCert(int result) {
+@@ -1127,6 +1172,88 @@ int SSLClientSocketImpl::DoVerifyCert(int result) {
  
    start_cert_verification_time_ = base::TimeTicks::Now();
  
-+#if defined(GOSTSSL) && ( defined(OPENSSL_LINUX) || defined(OPENSSL_APPLE) )
++#if defined(GOSTSSL)
++#ifndef TRUST_E_CERT_SIGNATURE
 +#define TRUST_E_CERT_SIGNATURE          0x80096004L
 +#define CRYPT_E_REVOKED                 0x80092010L
 +#define CERT_E_UNTRUSTEDROOT            0x800B0109L

 net/base/net_error_list.h                     |   6 +
 net/cert/cert_verify_proc.cc                  |  60 +++++++
 net/http/http_network_transaction.cc          |   9 ++
 net/socket/ssl_client_socket_impl.cc          | 150 ++++++++++++++++++
 net/spdy/spdy_session.cc                      |  13 ++
 net/ssl/client_cert_store_mac.cc              |  98 ++++++++++++
 net/ssl/client_cert_store_nss.cc              |  53 +++++++
 net/ssl/openssl_ssl_util.cc                   |   4 +
 net/ssl/ssl_cipher_suite_names.cc             |  27 ++++
 15 files changed, 479 insertions(+), 6 deletions(-)

diff --git a/chrome/browser/devtools/devtools_window.cc b/chrome/browser/devtools/devtools_window.cc
index 2b93acddaea6..cd460a5a42d7 100644

 }
 
diff --git a/net/socket/ssl_client_socket_impl.cc b/net/socket/ssl_client_socket_impl.cc
index 35e364f79a56..31653e1432bc 100644
--- a/net/socket/ssl_client_socket_impl.cc
+++ b/net/socket/ssl_client_socket_impl.cc
@@ -478,6 +478,31 @@ int SSLClientSocketImpl::ExportKeyingMaterial(const base::StringPiece& label,
