• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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()14 SSLInfo::SSLInfo() {
15   Reset();
16 }
17 
SSLInfo(const SSLInfo & info)18 SSLInfo::SSLInfo(const SSLInfo& info) {
19   *this = info;
20 }
21 
~SSLInfo()22 SSLInfo::~SSLInfo() {
23 }
24 
operator =(const SSLInfo & info)25 SSLInfo& 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()41 void 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)55 void SSLInfo::SetCertError(int error) {
56   cert_status |= MapNetErrorToCertStatus(error);
57 }
58 
59 }  // namespace net
60