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 3 // found in the LICENSE file. 4 5 #include "net/ssl/ssl_info.h" 6 7 #include "base/pickle.h" 8 #include "net/cert/cert_status_flags.h" 9 #include "net/cert/signed_certificate_timestamp.h" 10 #include "net/cert/x509_certificate.h" 11 12 namespace net { 13 SSLInfo()14SSLInfo::SSLInfo() { 15 Reset(); 16 } 17 SSLInfo(const SSLInfo & info)18SSLInfo::SSLInfo(const SSLInfo& info) { 19 *this = info; 20 } 21 ~SSLInfo()22SSLInfo::~SSLInfo() { 23 } 24 operator =(const SSLInfo & info)25SSLInfo& SSLInfo::operator=(const SSLInfo& info) { 26 cert = info.cert; 27 cert_status = info.cert_status; 28 security_bits = info.security_bits; 29 connection_status = info.connection_status; 30 is_issued_by_known_root = info.is_issued_by_known_root; 31 client_cert_sent = info.client_cert_sent; 32 channel_id_sent = info.channel_id_sent; 33 handshake_type = info.handshake_type; 34 public_key_hashes = info.public_key_hashes; 35 signed_certificate_timestamps = info.signed_certificate_timestamps; 36 pinning_failure_log = info.pinning_failure_log; 37 38 return *this; 39 } 40 Reset()41void SSLInfo::Reset() { 42 cert = NULL; 43 cert_status = 0; 44 security_bits = -1; 45 connection_status = 0; 46 is_issued_by_known_root = false; 47 client_cert_sent = false; 48 channel_id_sent = false; 49 handshake_type = HANDSHAKE_UNKNOWN; 50 public_key_hashes.clear(); 51 signed_certificate_timestamps.clear(); 52 pinning_failure_log.clear(); 53 } 54 SetCertError(int error)55void SSLInfo::SetCertError(int error) { 56 cert_status |= MapNetErrorToCertStatus(error); 57 } 58 59 } // namespace net 60