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 // OpenSSL binding for SSLClientSocket. The class layout and general principle | 5 // OpenSSL binding for SSLClientSocket. The class layout and general principle |
6 // of operation is derived from SSLClientSocketNSS. | 6 // of operation is derived from SSLClientSocketNSS. |
7 | 7 |
8 #include "net/socket/ssl_client_socket_openssl.h" | 8 #include "net/socket/ssl_client_socket_openssl.h" |
9 | 9 |
10 #include <errno.h> | 10 #include <errno.h> |
(...skipping 1000 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1011 flags |= CertVerifier::VERIFY_EV_CERT; | 1011 flags |= CertVerifier::VERIFY_EV_CERT; |
1012 if (ssl_config_.cert_io_enabled) | 1012 if (ssl_config_.cert_io_enabled) |
1013 flags |= CertVerifier::VERIFY_CERT_IO_ENABLED; | 1013 flags |= CertVerifier::VERIFY_CERT_IO_ENABLED; |
1014 if (ssl_config_.rev_checking_required_local_anchors) | 1014 if (ssl_config_.rev_checking_required_local_anchors) |
1015 flags |= CertVerifier::VERIFY_REV_CHECKING_REQUIRED_LOCAL_ANCHORS; | 1015 flags |= CertVerifier::VERIFY_REV_CHECKING_REQUIRED_LOCAL_ANCHORS; |
1016 verifier_.reset(new SingleRequestCertVerifier(cert_verifier_)); | 1016 verifier_.reset(new SingleRequestCertVerifier(cert_verifier_)); |
1017 return verifier_->Verify( | 1017 return verifier_->Verify( |
1018 server_cert_.get(), | 1018 server_cert_.get(), |
1019 host_and_port_.host(), | 1019 host_and_port_.host(), |
1020 flags, | 1020 flags, |
1021 NULL /* no CRL set */, | 1021 // TODO(davidben): Route the CRLSet through SSLConfig so |
| 1022 // SSLClientSocket doesn't depend on SSLConfigService. |
| 1023 SSLConfigService::GetCRLSet().get(), |
1022 &server_cert_verify_result_, | 1024 &server_cert_verify_result_, |
1023 base::Bind(&SSLClientSocketOpenSSL::OnHandshakeIOComplete, | 1025 base::Bind(&SSLClientSocketOpenSSL::OnHandshakeIOComplete, |
1024 base::Unretained(this)), | 1026 base::Unretained(this)), |
1025 net_log_); | 1027 net_log_); |
1026 } | 1028 } |
1027 | 1029 |
1028 int SSLClientSocketOpenSSL::DoVerifyCertComplete(int result) { | 1030 int SSLClientSocketOpenSSL::DoVerifyCertComplete(int result) { |
1029 verifier_.reset(); | 1031 verifier_.reset(); |
1030 | 1032 |
1031 if (result == OK) { | 1033 if (result == OK) { |
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1589 return socket->MaybeReplayTransportError( | 1591 return socket->MaybeReplayTransportError( |
1590 bio, cmd, argp, argi, argl, retvalue); | 1592 bio, cmd, argp, argi, argl, retvalue); |
1591 } | 1593 } |
1592 | 1594 |
1593 scoped_refptr<X509Certificate> | 1595 scoped_refptr<X509Certificate> |
1594 SSLClientSocketOpenSSL::GetUnverifiedServerCertificateChain() const { | 1596 SSLClientSocketOpenSSL::GetUnverifiedServerCertificateChain() const { |
1595 return server_cert_; | 1597 return server_cert_; |
1596 } | 1598 } |
1597 | 1599 |
1598 } // namespace net | 1600 } // namespace net |
OLD | NEW |