| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "net/ssl/ssl_info.h" |
| |
| #include "base/pickle.h" |
| #include "net/cert/cert_status_flags.h" |
| #include "net/cert/signed_certificate_timestamp.h" |
| #include "net/cert/x509_certificate.h" |
| |
| namespace net { |
| |
| SSLInfo::SSLInfo() { |
| Reset(); |
| } |
| |
| SSLInfo::SSLInfo(const SSLInfo& info) { |
| *this = info; |
| } |
| |
| SSLInfo::~SSLInfo() { |
| } |
| |
| SSLInfo& SSLInfo::operator=(const SSLInfo& info) { |
| cert = info.cert; |
| cert_status = info.cert_status; |
| security_bits = info.security_bits; |
| connection_status = info.connection_status; |
| is_issued_by_known_root = info.is_issued_by_known_root; |
| client_cert_sent = info.client_cert_sent; |
| channel_id_sent = info.channel_id_sent; |
| handshake_type = info.handshake_type; |
| public_key_hashes = info.public_key_hashes; |
| signed_certificate_timestamps = info.signed_certificate_timestamps; |
| pinning_failure_log = info.pinning_failure_log; |
| |
| return *this; |
| } |
| |
| void SSLInfo::Reset() { |
| cert = NULL; |
| cert_status = 0; |
| security_bits = -1; |
| connection_status = 0; |
| is_issued_by_known_root = false; |
| client_cert_sent = false; |
| channel_id_sent = false; |
| handshake_type = HANDSHAKE_UNKNOWN; |
| public_key_hashes.clear(); |
| signed_certificate_timestamps.clear(); |
| pinning_failure_log.clear(); |
| } |
| |
| void SSLInfo::SetCertError(int error) { |
| cert_status |= MapNetErrorToCertStatus(error); |
| } |
| |
| } // namespace net |