  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/socket/ssl_client_socket_impl.cc          | 152 ++++++++++++++++++
  net/spdy/spdy_session.cc                      |  13 ++
- net/ssl/client_cert_store_mac.cc              |  98 ++++++++++++
- net/ssl/client_cert_store_nss.cc              |  53 +++++++
+ 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(-)
+ 15 files changed, 481 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..4184d0136748 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,

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