| 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 // This file includes code SSLClientSocketNSS::DoVerifyCertComplete() derived | 5 // This file includes code SSLClientSocketNSS::DoVerifyCertComplete() derived |
| 6 // from AuthCertificateCallback() in | 6 // from AuthCertificateCallback() in |
| 7 // mozilla/security/manager/ssl/src/nsNSSCallbacks.cpp. | 7 // mozilla/security/manager/ssl/src/nsNSSCallbacks.cpp. |
| 8 | 8 |
| 9 /* ***** BEGIN LICENSE BLOCK ***** | 9 /* ***** BEGIN LICENSE BLOCK ***** |
| 10 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 | 10 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
| (...skipping 2549 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2560 SSL_CHANNEL_BINDING_TLS_UNIQUE, | 2560 SSL_CHANNEL_BINDING_TLS_UNIQUE, |
| 2561 buf, &len, arraysize(buf)); | 2561 buf, &len, arraysize(buf)); |
| 2562 if (result != SECSuccess) { | 2562 if (result != SECSuccess) { |
| 2563 LogFailedNSSFunction(net_log_, "SSL_GetChannelBinding", ""); | 2563 LogFailedNSSFunction(net_log_, "SSL_GetChannelBinding", ""); |
| 2564 return MapNSSError(PORT_GetError()); | 2564 return MapNSSError(PORT_GetError()); |
| 2565 } | 2565 } |
| 2566 out->assign(reinterpret_cast<char*>(buf), len); | 2566 out->assign(reinterpret_cast<char*>(buf), len); |
| 2567 return OK; | 2567 return OK; |
| 2568 } | 2568 } |
| 2569 | 2569 |
| 2570 SSLClientSocket::NextProtoStatus | 2570 SSLClientSocket::NextProtoStatus SSLClientSocketNSS::GetNextProto( |
| 2571 SSLClientSocketNSS::GetNextProto(std::string* proto) { | 2571 std::string* proto) const { |
| 2572 *proto = core_->state().next_proto; | 2572 *proto = core_->state().next_proto; |
| 2573 return core_->state().next_proto_status; | 2573 return core_->state().next_proto_status; |
| 2574 } | 2574 } |
| 2575 | 2575 |
| 2576 int SSLClientSocketNSS::Connect(const CompletionCallback& callback) { | 2576 int SSLClientSocketNSS::Connect(const CompletionCallback& callback) { |
| 2577 EnterFunction(""); | 2577 EnterFunction(""); |
| 2578 DCHECK(transport_.get()); | 2578 DCHECK(transport_.get()); |
| 2579 // It is an error to create an SSLClientSocket whose context has no | 2579 // It is an error to create an SSLClientSocket whose context has no |
| 2580 // TransportSecurityState. | 2580 // TransportSecurityState. |
| 2581 DCHECK(transport_security_state_); | 2581 DCHECK(transport_security_state_); |
| (...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3039 | 3039 |
| 3040 int SSLClientSocketNSS::DoHandshakeComplete(int result) { | 3040 int SSLClientSocketNSS::DoHandshakeComplete(int result) { |
| 3041 EnterFunction(result); | 3041 EnterFunction(result); |
| 3042 | 3042 |
| 3043 if (result == OK) { | 3043 if (result == OK) { |
| 3044 if (ssl_config_.version_fallback && | 3044 if (ssl_config_.version_fallback && |
| 3045 ssl_config_.version_max < ssl_config_.version_fallback_min) { | 3045 ssl_config_.version_max < ssl_config_.version_fallback_min) { |
| 3046 return ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION; | 3046 return ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION; |
| 3047 } | 3047 } |
| 3048 | 3048 |
| 3049 RecordNegotiationExtension(); |
| 3050 |
| 3049 // SSL handshake is completed. Let's verify the certificate. | 3051 // SSL handshake is completed. Let's verify the certificate. |
| 3050 GotoState(STATE_VERIFY_CERT); | 3052 GotoState(STATE_VERIFY_CERT); |
| 3051 // Done! | 3053 // Done! |
| 3052 } | 3054 } |
| 3053 set_channel_id_sent(core_->state().channel_id_sent); | 3055 set_channel_id_sent(core_->state().channel_id_sent); |
| 3054 set_signed_cert_timestamps_received( | 3056 set_signed_cert_timestamps_received( |
| 3055 !core_->state().sct_list_from_tls_extension.empty()); | 3057 !core_->state().sct_list_from_tls_extension.empty()); |
| 3056 set_stapled_ocsp_response_received( | 3058 set_stapled_ocsp_response_received( |
| 3057 !core_->state().stapled_ocsp_response.empty()); | 3059 !core_->state().stapled_ocsp_response.empty()); |
| 3058 set_negotiation_extension(core_->state().negotiation_extension_); | 3060 set_negotiation_extension(core_->state().negotiation_extension_); |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3238 scoped_refptr<X509Certificate> | 3240 scoped_refptr<X509Certificate> |
| 3239 SSLClientSocketNSS::GetUnverifiedServerCertificateChain() const { | 3241 SSLClientSocketNSS::GetUnverifiedServerCertificateChain() const { |
| 3240 return core_->state().server_cert.get(); | 3242 return core_->state().server_cert.get(); |
| 3241 } | 3243 } |
| 3242 | 3244 |
| 3243 ChannelIDService* SSLClientSocketNSS::GetChannelIDService() const { | 3245 ChannelIDService* SSLClientSocketNSS::GetChannelIDService() const { |
| 3244 return channel_id_service_; | 3246 return channel_id_service_; |
| 3245 } | 3247 } |
| 3246 | 3248 |
| 3247 } // namespace net | 3249 } // namespace net |
| OLD | NEW |