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

Side by Side Diff: net/base/x509_certificate_nss.cc

Issue 2944008: Refactor X509Certificate caching to cache the OS handle, rather than the X509Certificate (Closed)
Patch Set: Removed unnecessary bits Created 9 years, 5 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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <cert.h> 7 #include <cert.h>
8 #include <cryptohi.h> 8 #include <cryptohi.h>
9 #include <keyhi.h> 9 #include <keyhi.h>
10 #include <nss.h> 10 #include <nss.h>
(...skipping 731 matching lines...) Expand 10 before | Expand all | Expand 10 after
742 // Sign the ASN1 encoded cert and save it to |result|. 742 // Sign the ASN1 encoded cert and save it to |result|.
743 rv = SEC_DerSignData(arena, result, der.data, der.len, key->key(), algo_id); 743 rv = SEC_DerSignData(arena, result, der.data, der.len, key->key(), algo_id);
744 if (rv != SECSuccess) { 744 if (rv != SECSuccess) {
745 CERT_DestroyCertificate(cert); 745 CERT_DestroyCertificate(cert);
746 return NULL; 746 return NULL;
747 } 747 }
748 748
749 // Save the signed result to the cert. 749 // Save the signed result to the cert.
750 cert->derCert = *result; 750 cert->derCert = *result;
751 751
752 X509Certificate* x509_cert = 752 X509Certificate* x509_cert = CreateFromHandle(cert, OSCertHandles());
753 CreateFromHandle(cert, SOURCE_LONE_CERT_IMPORT, OSCertHandles());
754 CERT_DestroyCertificate(cert); 753 CERT_DestroyCertificate(cert);
755 return x509_cert; 754 return x509_cert;
756 } 755 }
757 756
758 void X509Certificate::GetDNSNames(std::vector<std::string>* dns_names) const { 757 void X509Certificate::GetDNSNames(std::vector<std::string>* dns_names) const {
759 dns_names->clear(); 758 dns_names->clear();
760 759
761 // Compare with CERT_VerifyCertName(). 760 // Compare with CERT_VerifyCertName().
762 GetCertSubjectAltNamesOfType(cert_handle_, certDNSName, dns_names); 761 GetCertSubjectAltNamesOfType(cert_handle_, certDNSName, dns_names);
763 762
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
1003 1002
1004 // static 1003 // static
1005 bool X509Certificate::WriteOSCertHandleToPickle(OSCertHandle cert_handle, 1004 bool X509Certificate::WriteOSCertHandleToPickle(OSCertHandle cert_handle,
1006 Pickle* pickle) { 1005 Pickle* pickle) {
1007 return pickle->WriteData( 1006 return pickle->WriteData(
1008 reinterpret_cast<const char*>(cert_handle->derCert.data), 1007 reinterpret_cast<const char*>(cert_handle->derCert.data),
1009 cert_handle->derCert.len); 1008 cert_handle->derCert.len);
1010 } 1009 }
1011 1010
1012 } // namespace net 1011 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698