  net/ssl/client_cert_store_nss.cc              |  53 ++++++
  net/ssl/openssl_ssl_util.cc                   |   4 +
  net/ssl/ssl_cipher_suite_names.cc             |  26 +++
- 14 files changed, 492 insertions(+), 5 deletions(-)
+ net/ssl/ssl_platform_key_util.cc              |  21 +++
+ net/ssl/ssl_platform_key_util.h               |   7 +
+ 17 files changed, 529 insertions(+), 5 deletions(-)
 
 diff --git a/chrome/browser/devtools/devtools_window.cc b/chrome/browser/devtools/devtools_window.cc
 index be0c8603874a..6e5d957855f7 100644

 .../chromium-browser/chromium-browser.info    |  10 +-
 .../installer/linux/common/installer.include  |   3 +
 .../installer/linux/rpm/chrome.spec.template  |   4 +
 net/base/net_error_list.h                     |   6 +
 net/cert/cert_verify_proc.cc                  |  61 +++++++
 net/http/http_network_transaction.cc          |   9 +

 CHANNEL=@@CHANNEL@@
 case $CHANNEL in
   stable )
diff --git a/content/browser/network_service_client.cc b/content/browser/network_service_client.cc
index 90ffdf4a0ab0..ea4642e9f19c 100644
--- a/content/browser/network_service_client.cc
+++ b/content/browser/network_service_client.cc
@@ -45,6 +45,10 @@
 #include "net/android/http_auth_negotiate_android.h"
 #endif
 
+#ifdef GOSTSSL
+#include "net/ssl/ssl_platform_key_util.h"
+#endif // GOSTSSL
+
 namespace content {
 namespace {
 
@@ -113,6 +117,11 @@ class SSLClientAuthDelegate : public SSLClientAuthHandler::Delegate {
       scoped_refptr<net::X509Certificate> cert,
       scoped_refptr<net::SSLPrivateKey> private_key) override {
     DCHECK_CURRENTLY_ON(BrowserThread::IO);
+#if defined(GOSTSSL)
+    if (cert && !private_key) {
+        private_key = net::GetEmptyPrivateKey();
+    }
+#endif // GOSTSSL
     DCHECK((cert && private_key) || (!cert && !private_key));
 
     if (cert && private_key) {
diff --git a/net/base/net_error_list.h b/net/base/net_error_list.h
index 9614b3d857d1..55601225fc52 100644
--- a/net/base/net_error_list.h
