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.
5 #include "net/ssl/ssl_info.h"
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"
18 SSLInfo::SSLInfo(const SSLInfo
& info
) {
25 SSLInfo
& SSLInfo::operator=(const SSLInfo
& info
) {
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
;
41 void SSLInfo::Reset() {
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();
55 void SSLInfo::SetCertError(int error
) {
56 cert_status
|= MapNetErrorToCertStatus(error
);