OLD | NEW |
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 <openssl/asn1.h> | 7 #include <openssl/asn1.h> |
8 #include <openssl/bytestring.h> | 8 #include <openssl/bytestring.h> |
9 #include <openssl/crypto.h> | 9 #include <openssl/crypto.h> |
10 #include <openssl/obj_mac.h> | 10 #include <openssl/obj_mac.h> |
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
442 X509_NAME* issuer = sk_X509_NAME_value(issuer_names.get(), m); | 442 X509_NAME* issuer = sk_X509_NAME_value(issuer_names.get(), m); |
443 if (X509_NAME_cmp(issuer, cert_names[n]) == 0) { | 443 if (X509_NAME_cmp(issuer, cert_names[n]) == 0) { |
444 return true; | 444 return true; |
445 } | 445 } |
446 } | 446 } |
447 } | 447 } |
448 | 448 |
449 return false; | 449 return false; |
450 } | 450 } |
451 | 451 |
| 452 // static |
| 453 bool X509Certificate::IsSelfSigned(OSCertHandle cert_handle) { |
| 454 crypto::ScopedEVP_PKEY scoped_key(X509_get_pubkey(cert_handle)); |
| 455 if (!scoped_key) |
| 456 return false; |
| 457 |
| 458 // NOTE: X509_verify() returns 1 in case of success, 0 or -1 on error. |
| 459 return X509_verify(cert_handle, scoped_key.get()) == 1; |
| 460 } |
| 461 |
452 } // namespace net | 462 } // namespace net |
OLD | NEW |