ssl_info.cc revision c5cede9ae108bb15f6b7a8aea21c7e1fefa2834c
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 12namespace net { 13 14SSLInfo::SSLInfo() { 15 Reset(); 16} 17 18SSLInfo::SSLInfo(const SSLInfo& info) { 19 *this = info; 20} 21 22SSLInfo::~SSLInfo() { 23} 24 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 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 55void SSLInfo::SetCertError(int error) { 56 cert_status |= MapNetErrorToCertStatus(error); 57} 58 59} // namespace net 60