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 2375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2386 | 2386 |
2387 if (!signed_cert_timestamps || !signed_cert_timestamps->len) | 2387 if (!signed_cert_timestamps || !signed_cert_timestamps->len) |
2388 return; | 2388 return; |
2389 | 2389 |
2390 nss_handshake_state_.sct_list_from_tls_extension = std::string( | 2390 nss_handshake_state_.sct_list_from_tls_extension = std::string( |
2391 reinterpret_cast<char*>(signed_cert_timestamps->data), | 2391 reinterpret_cast<char*>(signed_cert_timestamps->data), |
2392 signed_cert_timestamps->len); | 2392 signed_cert_timestamps->len); |
2393 } | 2393 } |
2394 | 2394 |
2395 void SSLClientSocketNSS::Core::UpdateStapledOCSPResponse() { | 2395 void SSLClientSocketNSS::Core::UpdateStapledOCSPResponse() { |
2396 PRBool ocsp_requested = PR_FALSE; | |
2397 SSL_OptionGet(nss_fd_, SSL_ENABLE_OCSP_STAPLING, &ocsp_requested); | |
wtc
2014/02/19 23:37:02
Nit: some tool may warn that we ignore the return
| |
2396 const SECItemArray* ocsp_responses = | 2398 const SECItemArray* ocsp_responses = |
2397 SSL_PeerStapledOCSPResponses(nss_fd_); | 2399 SSL_PeerStapledOCSPResponses(nss_fd_); |
2398 if (!ocsp_responses || !ocsp_responses->len) | 2400 bool ocsp_responses_present = ocsp_responses && ocsp_responses->len; |
2401 if (ocsp_requested) | |
2402 UMA_HISTOGRAM_BOOLEAN("Net.OCSPResponseStapled", ocsp_responses_present); | |
2403 if (!ocsp_responses_present) | |
2399 return; | 2404 return; |
2400 | 2405 |
2401 nss_handshake_state_.stapled_ocsp_response = std::string( | 2406 nss_handshake_state_.stapled_ocsp_response = std::string( |
2402 reinterpret_cast<char*>(ocsp_responses->items[0].data), | 2407 reinterpret_cast<char*>(ocsp_responses->items[0].data), |
2403 ocsp_responses->items[0].len); | 2408 ocsp_responses->items[0].len); |
2404 | 2409 |
2405 // TODO(agl): figure out how to plumb an OCSP response into the Mac | 2410 // TODO(agl): figure out how to plumb an OCSP response into the Mac |
2406 // system library and update IsOCSPStaplingSupported for Mac. | 2411 // system library and update IsOCSPStaplingSupported for Mac. |
2407 if (IsOCSPStaplingSupported()) { | 2412 if (IsOCSPStaplingSupported()) { |
2408 #if defined(OS_WIN) | 2413 #if defined(OS_WIN) |
(...skipping 1173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3582 SignedCertificateTimestampAndStatus(*iter, | 3587 SignedCertificateTimestampAndStatus(*iter, |
3583 ct::SCT_STATUS_LOG_UNKNOWN)); | 3588 ct::SCT_STATUS_LOG_UNKNOWN)); |
3584 } | 3589 } |
3585 } | 3590 } |
3586 | 3591 |
3587 ServerBoundCertService* SSLClientSocketNSS::GetServerBoundCertService() const { | 3592 ServerBoundCertService* SSLClientSocketNSS::GetServerBoundCertService() const { |
3588 return server_bound_cert_service_; | 3593 return server_bound_cert_service_; |
3589 } | 3594 } |
3590 | 3595 |
3591 } // namespace net | 3596 } // namespace net |
OLD | NEW |