diff options
Diffstat (limited to 'chromium/net/ssl/client_cert_store_nss.h')
-rw-r--r-- | chromium/net/ssl/client_cert_store_nss.h | 21 |
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 |