summaryrefslogtreecommitdiffstats
path: root/chromium/net/ssl/client_cert_store_nss.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net/ssl/client_cert_store_nss.h')
-rw-r--r--chromium/net/ssl/client_cert_store_nss.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/chromium/net/ssl/client_cert_store_nss.h b/chromium/net/ssl/client_cert_store_nss.h
index 53b7c608031..4e2e1c459da 100644
--- a/chromium/net/ssl/client_cert_store_nss.h
+++ b/chromium/net/ssl/client_cert_store_nss.h
@@ -12,6 +12,8 @@
#include "net/ssl/client_cert_store.h"
#include "net/ssl/ssl_cert_request_info.h"
+typedef struct CERTCertListStr CERTCertList;
+
namespace crypto {
class CryptoModuleBlockingPasswordDelegate;
}
@@ -21,7 +23,7 @@ namespace net {
class NET_EXPORT ClientCertStoreNSS : public ClientCertStore {
public:
typedef base::Callback<crypto::CryptoModuleBlockingPasswordDelegate*(
- const std::string& /* server */)> PasswordDelegateFactory;
+ const HostPortPair& /* server */)> PasswordDelegateFactory;
explicit ClientCertStoreNSS(
const PasswordDelegateFactory& password_delegate_factory);
@@ -32,9 +34,26 @@ class NET_EXPORT ClientCertStoreNSS : public ClientCertStore {
CertificateList* selected_certs,
const base::Closure& callback) OVERRIDE;
+ protected:
+ // Examines the certificates in |cert_list| to find all certificates that
+ // match the client certificate request in |request|, storing the matching
+ // certificates in |selected_certs|.
+ // If |query_nssdb| is true, NSS will be queried to construct full certificate
+ // chains. If it is false, only the certificate will be considered.
+ virtual void GetClientCertsImpl(CERTCertList* cert_list,
+ const SSLCertRequestInfo& request,
+ bool query_nssdb,
+ CertificateList* selected_certs);
+
private:
friend class ClientCertStoreNSSTestDelegate;
+ void GetClientCertsOnWorkerThread(
+ scoped_ptr<crypto::CryptoModuleBlockingPasswordDelegate>
+ password_delegate,
+ const SSLCertRequestInfo* request,
+ CertificateList* selected_certs);
+
// A hook for testing. Filters |input_certs| using the logic being used to
// filter the system store when GetClientCerts() is called.
// Implemented by creating a list of certificates that otherwise would be