Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(698)

Unified Diff: net/ssl/client_cert_store_impl.h

Issue 83793006: NSS: Handle unfriendly tokens in client auth. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: changes for comment #13 Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/profiles/profile_io_data.cc ('k') | net/ssl/client_cert_store_impl_mac.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/ssl/client_cert_store_impl.h
diff --git a/net/ssl/client_cert_store_impl.h b/net/ssl/client_cert_store_impl.h
index ff2759e06677acd0e41c333360c2f0a555a8aeb5..6a39c2809040ed816630598677b64d48293c3b7c 100644
--- a/net/ssl/client_cert_store_impl.h
+++ b/net/ssl/client_cert_store_impl.h
@@ -6,23 +6,38 @@
#define NET_SSL_CLIENT_CERT_STORE_IMPL_H_
#include "base/basictypes.h"
+#include "base/callback.h"
#include "base/gtest_prod_util.h"
#include "net/base/net_export.h"
#include "net/ssl/client_cert_store.h"
#include "net/ssl/ssl_cert_request_info.h"
+namespace crypto {
+class CryptoModuleBlockingPasswordDelegate;
+}
+
namespace net {
class NET_EXPORT ClientCertStoreImpl : public ClientCertStore {
public:
- ClientCertStoreImpl() {}
- virtual ~ClientCertStoreImpl() {}
+ ClientCertStoreImpl();
+ virtual ~ClientCertStoreImpl();
// ClientCertStore:
virtual void GetClientCerts(const SSLCertRequestInfo& cert_request_info,
CertificateList* selected_certs,
const base::Closure& callback) OVERRIDE;
+#if defined(USE_NSS)
+ typedef base::Callback<crypto::CryptoModuleBlockingPasswordDelegate*(
+ const std::string& /* server */)> PasswordDelegateFactory;
+ // Set a factory that will be used to create a delegate for unlocking PKCS #11
+ // tokens. The host:port string of the server requesting client auth will be
+ // passed to the factory.
+ void set_password_delegate_factory(
+ const PasswordDelegateFactory& password_delegate_factory);
+#endif
+
private:
friend class ClientCertStoreImplTest;
@@ -50,6 +65,12 @@ class NET_EXPORT ClientCertStoreImpl : public ClientCertStore {
CertificateList* selected_certs);
#endif
+#if defined(USE_NSS)
+ // The factory for creating the delegate for requesting a password to a
+ // PKCS #11 token. May be null.
+ PasswordDelegateFactory password_delegate_factory_;
+#endif // defined(USE_NSS)
+
DISALLOW_COPY_AND_ASSIGN(ClientCertStoreImpl);
};
« no previous file with comments | « chrome/browser/profiles/profile_io_data.cc ('k') | net/ssl/client_cert_store_impl_mac.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698