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

Side by Side Diff: net/cert/x509_certificate_mac.cc

Issue 2756733003: Delete SecCertificate equality hacks for old macOS versions (Closed)
Patch Set: Created 3 years, 9 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
« no previous file with comments | « net/cert/test_root_certs_mac.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/cert/x509_certificate.h" 5 #include "net/cert/x509_certificate.h"
6 6
7 #include <CommonCrypto/CommonDigest.h> 7 #include <CommonCrypto/CommonDigest.h>
8 #include <CoreServices/CoreServices.h> 8 #include <CoreServices/CoreServices.h>
9 #include <Security/Security.h> 9 #include <Security/Security.h>
10 10
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 return false; 279 return false;
280 encoded->assign(reinterpret_cast<char*>(der_data.Data), 280 encoded->assign(reinterpret_cast<char*>(der_data.Data),
281 der_data.Length); 281 der_data.Length);
282 return true; 282 return true;
283 } 283 }
284 284
285 // static 285 // static
286 bool X509Certificate::IsSameOSCert(X509Certificate::OSCertHandle a, 286 bool X509Certificate::IsSameOSCert(X509Certificate::OSCertHandle a,
287 X509Certificate::OSCertHandle b) { 287 X509Certificate::OSCertHandle b) {
288 DCHECK(a && b); 288 DCHECK(a && b);
289 if (a == b) 289 return CFEqual(a, b);
mattm 2017/03/17 01:15:53 was doing this check here before calling CFEqual a
Ryan Sleevi 2017/03/17 14:13:58 Yup
290 return true;
291 if (CFEqual(a, b))
292 return true;
293 CSSM_DATA a_data, b_data;
294 return SecCertificateGetData(a, &a_data) == noErr &&
295 SecCertificateGetData(b, &b_data) == noErr &&
296 a_data.Length == b_data.Length &&
297 memcmp(a_data.Data, b_data.Data, a_data.Length) == 0;
298 } 290 }
299 291
300 // static 292 // static
301 X509Certificate::OSCertHandle X509Certificate::CreateOSCertHandleFromBytes( 293 X509Certificate::OSCertHandle X509Certificate::CreateOSCertHandleFromBytes(
302 const char* data, 294 const char* data,
303 size_t length) { 295 size_t length) {
304 CSSM_DATA cert_data; 296 CSSM_DATA cert_data;
305 cert_data.Data = const_cast<uint8_t*>(reinterpret_cast<const uint8_t*>(data)); 297 cert_data.Data = const_cast<uint8_t*>(reinterpret_cast<const uint8_t*>(data));
306 cert_data.Length = length; 298 cert_data.Length = length;
307 299
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 return false; 543 return false;
552 544
553 if (CSSM_CL_CertVerify(cl_handle, 0, &cert_data, &cert_data, NULL, 0)) 545 if (CSSM_CL_CertVerify(cl_handle, 0, &cert_data, &cert_data, NULL, 0))
554 return false; 546 return false;
555 return true; 547 return true;
556 } 548 }
557 549
558 #pragma clang diagnostic pop // "-Wdeprecated-declarations" 550 #pragma clang diagnostic pop // "-Wdeprecated-declarations"
559 551
560 } // namespace net 552 } // namespace net
OLDNEW
« no previous file with comments | « net/cert/test_root_certs_mac.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698