Index: content/public/common/ssl_status.cc |
diff --git a/content/public/common/ssl_status.cc b/content/public/common/ssl_status.cc |
index 3490a81c46a0dd277a71d283f78ce4c8e8a94aa0..c04483c95aeba2f061076a8c05c9d221fd1ab322 100644 |
--- a/content/public/common/ssl_status.cc |
+++ b/content/public/common/ssl_status.cc |
@@ -4,6 +4,7 @@ |
#include "content/public/common/ssl_status.h" |
+#include "net/cert/sct_status_flags.h" |
#include "net/ssl/ssl_info.h" |
namespace content { |
@@ -20,8 +21,6 @@ SSLStatus::SSLStatus() |
SSLStatus::SSLStatus(SecurityStyle security_style, |
int cert_id, |
- const SignedCertificateTimestampIDStatusList& |
- signed_certificate_timestamp_ids, |
const net::SSLInfo& ssl_info) |
: security_style(security_style), |
cert_id(cert_id), |
@@ -30,7 +29,29 @@ SSLStatus::SSLStatus(SecurityStyle security_style, |
key_exchange_info(ssl_info.key_exchange_info), |
connection_status(ssl_info.connection_status), |
content_status(NORMAL_CONTENT), |
- signed_certificate_timestamp_ids(signed_certificate_timestamp_ids) {} |
+ num_unknown_scts(0), |
+ num_invalid_scts(0), |
+ num_valid_scts(0) { |
+ // Count unknown, invalid and valid SCTs. |
+ for (const auto& sct_and_status : ssl_info.signed_certificate_timestamps) { |
+ switch (sct_and_status.status) { |
+ case net::ct::SCT_STATUS_LOG_UNKNOWN: |
Eran Messeri
2016/04/26 09:29:51
Nit: would using count_if here (http://en.cpprefer
dwaxweiler
2016/04/28 07:46:20
Yes, it would be easier to read. So, is it okay to
|
+ num_unknown_scts++; |
+ break; |
+ case net::ct::SCT_STATUS_INVALID: |
+ num_invalid_scts++; |
+ break; |
+ case net::ct::SCT_STATUS_OK: |
+ num_valid_scts++; |
+ break; |
+ case net::ct::SCT_STATUS_NONE: |
+ case net::ct::SCT_STATUS_MAX: |
+ // These enum values do not represent SCTs that are taken into account |
+ // for CT compliance calculations, so we ignore them. |
+ break; |
+ } |
+ } |
+} |
SSLStatus::SSLStatus(const SSLStatus& other) = default; |