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

Side by Side Diff: net/ssl/client_cert_store_nss.cc

Issue 1274143002: ClientCertStoreChromeOS: support additional non-platform certs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Refactored to suggested pulling of certificates. Created 5 years, 4 months 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/ssl/client_cert_store_nss.h" 5 #include "net/ssl/client_cert_store_nss.h"
6 6
7 #include <nss.h> 7 #include <nss.h>
8 #include <ssl.h> 8 #include <ssl.h>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 void ClientCertStoreNSS::GetClientCertsOnWorkerThread( 116 void ClientCertStoreNSS::GetClientCertsOnWorkerThread(
117 scoped_ptr<crypto::CryptoModuleBlockingPasswordDelegate> password_delegate, 117 scoped_ptr<crypto::CryptoModuleBlockingPasswordDelegate> password_delegate,
118 const SSLCertRequestInfo* request, 118 const SSLCertRequestInfo* request,
119 CertificateList* selected_certs) { 119 CertificateList* selected_certs) {
120 CERTCertList* client_certs = CERT_FindUserCertsByUsage( 120 CERTCertList* client_certs = CERT_FindUserCertsByUsage(
121 CERT_GetDefaultCertDB(), 121 CERT_GetDefaultCertDB(),
122 certUsageSSLClient, 122 certUsageSSLClient,
123 PR_FALSE, 123 PR_FALSE,
124 PR_FALSE, 124 PR_FALSE,
125 password_delegate.get()); 125 password_delegate.get());
126 // It is ok for a user not to have any client certs.
127 if (!client_certs) { 126 if (!client_certs) {
128 DVLOG(2) << "No client certs found."; 127 DVLOG(2) << "No client certs found.";
129 selected_certs->clear(); 128 client_certs = CERT_NewCertList();
130 return;
131 } 129 }
132 130
133 GetClientCertsImpl(client_certs, *request, true, selected_certs); 131 GetClientCertsImpl(client_certs, *request, true, selected_certs);
134 CERT_DestroyCertList(client_certs); 132 CERT_DestroyCertList(client_certs);
135 } 133 }
136 134
137 bool ClientCertStoreNSS::SelectClientCertsForTesting( 135 bool ClientCertStoreNSS::SelectClientCertsForTesting(
138 const CertificateList& input_certs, 136 const CertificateList& input_certs,
139 const SSLCertRequestInfo& request, 137 const SSLCertRequestInfo& request,
140 CertificateList* selected_certs) { 138 CertificateList* selected_certs) {
141 CERTCertList* cert_list = CERT_NewCertList(); 139 CERTCertList* cert_list = CERT_NewCertList();
142 if (!cert_list) 140 if (!cert_list)
143 return false; 141 return false;
144 for (size_t i = 0; i < input_certs.size(); ++i) { 142 for (size_t i = 0; i < input_certs.size(); ++i) {
145 CERT_AddCertToListTail( 143 CERT_AddCertToListTail(
146 cert_list, CERT_DupCertificate(input_certs[i]->os_cert_handle())); 144 cert_list, CERT_DupCertificate(input_certs[i]->os_cert_handle()));
147 } 145 }
148 146
149 GetClientCertsImpl(cert_list, request, false, selected_certs); 147 GetClientCertsImpl(cert_list, request, false, selected_certs);
150 CERT_DestroyCertList(cert_list); 148 CERT_DestroyCertList(cert_list);
151 return true; 149 return true;
152 } 150 }
153 151
154 } // namespace net 152 } // namespace net
OLDNEW
« chrome/browser/profiles/profile_io_data.cc ('K') | « chrome/browser/profiles/profile_io_data.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698