| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "content/public/common/ssl_status.h" | 5 #include "content/public/common/ssl_status.h" |
| 6 | 6 |
| 7 #include "net/cert/sct_status_flags.h" |
| 7 #include "net/ssl/ssl_info.h" | 8 #include "net/ssl/ssl_info.h" |
| 8 | 9 |
| 9 namespace content { | 10 namespace content { |
| 10 | 11 |
| 11 SSLStatus::SSLStatus() | 12 SSLStatus::SSLStatus() |
| 12 : security_style(SECURITY_STYLE_UNKNOWN), | 13 : security_style(SECURITY_STYLE_UNKNOWN), |
| 13 cert_id(0), | 14 cert_id(0), |
| 14 cert_status(0), | 15 cert_status(0), |
| 15 security_bits(-1), | 16 security_bits(-1), |
| 16 key_exchange_info(0), | 17 key_exchange_info(0), |
| 17 connection_status(0), | 18 connection_status(0), |
| 18 content_status(NORMAL_CONTENT) { | 19 content_status(NORMAL_CONTENT) { |
| 19 } | 20 } |
| 20 | 21 |
| 21 SSLStatus::SSLStatus(SecurityStyle security_style, | 22 SSLStatus::SSLStatus(SecurityStyle security_style, |
| 22 int cert_id, | 23 int cert_id, |
| 23 const SignedCertificateTimestampIDStatusList& | |
| 24 signed_certificate_timestamp_ids, | |
| 25 const net::SSLInfo& ssl_info) | 24 const net::SSLInfo& ssl_info) |
| 26 : security_style(security_style), | 25 : security_style(security_style), |
| 27 cert_id(cert_id), | 26 cert_id(cert_id), |
| 28 cert_status(ssl_info.cert_status), | 27 cert_status(ssl_info.cert_status), |
| 29 security_bits(ssl_info.security_bits), | 28 security_bits(ssl_info.security_bits), |
| 30 key_exchange_info(ssl_info.key_exchange_info), | 29 key_exchange_info(ssl_info.key_exchange_info), |
| 31 connection_status(ssl_info.connection_status), | 30 connection_status(ssl_info.connection_status), |
| 32 content_status(NORMAL_CONTENT), | 31 content_status(NORMAL_CONTENT), |
| 33 signed_certificate_timestamp_ids(signed_certificate_timestamp_ids) {} | 32 num_unknown_scts(0), |
| 33 num_invalid_scts(0), |
| 34 num_valid_scts(0) { |
| 35 // Count unknown, invalid and valid SCTs. |
| 36 for (const auto& sct_and_status : ssl_info.signed_certificate_timestamps) { |
| 37 switch (sct_and_status.status) { |
| 38 case net::ct::SCT_STATUS_LOG_UNKNOWN: |
| 39 num_unknown_scts++; |
| 40 break; |
| 41 case net::ct::SCT_STATUS_INVALID: |
| 42 num_invalid_scts++; |
| 43 break; |
| 44 case net::ct::SCT_STATUS_OK: |
| 45 num_valid_scts++; |
| 46 break; |
| 47 case net::ct::SCT_STATUS_NONE: |
| 48 case net::ct::SCT_STATUS_MAX: |
| 49 // These enum values do not represent SCTs that are taken into account |
| 50 // for CT compliance calculations, so we ignore them. |
| 51 break; |
| 52 } |
| 53 } |
| 54 } |
| 34 | 55 |
| 35 SSLStatus::SSLStatus(const SSLStatus& other) = default; | 56 SSLStatus::SSLStatus(const SSLStatus& other) = default; |
| 36 | 57 |
| 37 SSLStatus::~SSLStatus() {} | 58 SSLStatus::~SSLStatus() {} |
| 38 | 59 |
| 39 } // namespace content | 60 } // namespace content |
| OLD | NEW |