OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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/base/x509_certificate.h" | 5 #include "net/base/x509_certificate.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 | 8 |
9 #include "base/lazy_instance.h" | 9 #include "base/lazy_instance.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
177 #else | 177 #else |
178 static X509Certificate::OSCertHandle CreateOSCert(base::StringPiece der_cert) { | 178 static X509Certificate::OSCertHandle CreateOSCert(base::StringPiece der_cert) { |
179 return X509Certificate::CreateOSCertHandleFromBytes( | 179 return X509Certificate::CreateOSCertHandleFromBytes( |
180 const_cast<char*>(der_cert.data()), der_cert.size()); | 180 const_cast<char*>(der_cert.data()), der_cert.size()); |
181 } | 181 } |
182 #endif | 182 #endif |
183 | 183 |
184 // static | 184 // static |
185 X509Certificate* X509Certificate::CreateFromDERCertChain( | 185 X509Certificate* X509Certificate::CreateFromDERCertChain( |
186 const std::vector<base::StringPiece>& der_certs) { | 186 const std::vector<base::StringPiece>& der_certs) { |
187 if (der_certs.size() == 0) | 187 if (der_certs.empty()) |
188 return NULL; | 188 return NULL; |
189 | 189 |
190 X509Certificate::OSCertHandles intermediate_ca_certs; | 190 X509Certificate::OSCertHandles intermediate_ca_certs; |
191 for (size_t i = 1; i < der_certs.size(); i++) { | 191 for (size_t i = 1; i < der_certs.size(); i++) { |
192 OSCertHandle handle = CreateOSCert(der_certs[i]); | 192 OSCertHandle handle = CreateOSCert(der_certs[i]); |
193 DCHECK(handle); | 193 DCHECK(handle); |
194 intermediate_ca_certs.push_back(handle); | 194 intermediate_ca_certs.push_back(handle); |
195 } | 195 } |
196 | 196 |
197 OSCertHandle handle = CreateOSCert(der_certs[0]); | 197 OSCertHandle handle = CreateOSCert(der_certs[0]); |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
339 X509Certificate::~X509Certificate() { | 339 X509Certificate::~X509Certificate() { |
340 // We might not be in the cache, but it is safe to remove ourselves anyway. | 340 // We might not be in the cache, but it is safe to remove ourselves anyway. |
341 g_x509_certificate_cache.Get().Remove(this); | 341 g_x509_certificate_cache.Get().Remove(this); |
342 if (cert_handle_) | 342 if (cert_handle_) |
343 FreeOSCertHandle(cert_handle_); | 343 FreeOSCertHandle(cert_handle_); |
344 for (size_t i = 0; i < intermediate_ca_certs_.size(); ++i) | 344 for (size_t i = 0; i < intermediate_ca_certs_.size(); ++i) |
345 FreeOSCertHandle(intermediate_ca_certs_[i]); | 345 FreeOSCertHandle(intermediate_ca_certs_[i]); |
346 } | 346 } |
347 | 347 |
348 } // namespace net | 348 } // namespace net |
OLD | NEW |