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