| 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 |