summaryrefslogtreecommitdiffstats
path: root/net/base/x509_certificate_mac.cc
diff options
context:
space:
mode:
authorwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-09 19:35:54 +0000
committerwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-09 19:35:54 +0000
commiteef15aa68c1ead785af67f8e4aaf8fcdb7ed6c04 (patch)
tree63fbe28673d68bdf64a66c881ddad6c827dc8b8f /net/base/x509_certificate_mac.cc
parent32a4eeb62d7eb1d4e8178eabbc5ffa3bd651d7cb (diff)
downloadchromium_src-eef15aa68c1ead785af67f8e4aaf8fcdb7ed6c04.zip
chromium_src-eef15aa68c1ead785af67f8e4aaf8fcdb7ed6c04.tar.gz
chromium_src-eef15aa68c1ead785af67f8e4aaf8fcdb7ed6c04.tar.bz2
Define X509Certificate::intermediate_ca_certs_ as a std::vector of
OSCertHandle so that we can also use it on Windows. Remove the unused SSLClientSocketMac::intermediate_certs_ member. R=hawk BUG=28744 TEST=Can visit good HTTPS sites with no certificate errors. Clicking the "Certificate information" button in the page security information window should show a complete certificate chain (as opposed to just the server certificate). Review URL: http://codereview.chromium.org/452042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@34175 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/x509_certificate_mac.cc')
-rw-r--r--net/base/x509_certificate_mac.cc22
1 files changed, 2 insertions, 20 deletions
diff --git a/net/base/x509_certificate_mac.cc b/net/base/x509_certificate_mac.cc
index d5b597f..2b96be4 100644
--- a/net/base/x509_certificate_mac.cc
+++ b/net/base/x509_certificate_mac.cc
@@ -454,14 +454,8 @@ int X509Certificate::Verify(const std::string& hostname, int flags,
return ERR_OUT_OF_MEMORY;
scoped_cftyperef<CFArrayRef> scoped_cert_array(cert_array);
CFArrayAppendValue(cert_array, cert_handle_);
- if (intermediate_ca_certs_) {
- CFIndex intermediate_count = CFArrayGetCount(intermediate_ca_certs_);
- for (CFIndex i = 0; i < intermediate_count; ++i) {
- SecCertificateRef intermediate_cert = static_cast<SecCertificateRef>(
- const_cast<void*>(CFArrayGetValueAtIndex(intermediate_ca_certs_, i)));
- CFArrayAppendValue(cert_array, intermediate_cert);
- }
- }
+ for (size_t i = 0; i < intermediate_ca_certs_.size(); ++i)
+ CFArrayAppendValue(cert_array, intermediate_ca_certs_[i]);
SecTrustRef trust_ref = NULL;
status = SecTrustCreateWithCertificates(cert_array, ssl_policy, &trust_ref);
@@ -655,18 +649,6 @@ bool X509Certificate::VerifyEV() const {
return false;
}
-void X509Certificate::AddIntermediateCertificate(SecCertificateRef cert) {
- if (cert) {
- if (!intermediate_ca_certs_) {
- intermediate_ca_certs_ = CFArrayCreateMutable(kCFAllocatorDefault, 0,
- &kCFTypeArrayCallBacks);
- }
- if (intermediate_ca_certs_) {
- CFArrayAppendValue(intermediate_ca_certs_, cert);
- }
- }
-}
-
// static
X509Certificate::OSCertHandle X509Certificate::CreateOSCertHandleFromBytes(
const char* data, int length) {