• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights
2 // reserved. Use of this source code is governed by a BSD-style license that
3 // can be found in the LICENSE file.
4 
5 #include "libcef/browser/ssl_status_impl.h"
6 
7 #include "libcef/browser/x509_certificate_impl.h"
8 
9 #include "net/ssl/ssl_connection_status_flags.h"
10 
CefSSLStatusImpl(const content::SSLStatus & value)11 CefSSLStatusImpl::CefSSLStatusImpl(const content::SSLStatus& value) {
12   cert_status_ = static_cast<cef_cert_status_t>(value.cert_status);
13   content_status_ = static_cast<cef_ssl_content_status_t>(value.content_status);
14   ssl_version_ = static_cast<cef_ssl_version_t>(
15       net::SSLConnectionStatusToVersion(value.connection_status));
16   certificate_ = value.certificate;
17 }
18 
IsSecureConnection()19 bool CefSSLStatusImpl::IsSecureConnection() {
20   return !!certificate_.get();
21 }
22 
GetCertStatus()23 cef_cert_status_t CefSSLStatusImpl::GetCertStatus() {
24   return cert_status_;
25 }
26 
GetSSLVersion()27 cef_ssl_version_t CefSSLStatusImpl::GetSSLVersion() {
28   return ssl_version_;
29 }
30 
GetContentStatus()31 cef_ssl_content_status_t CefSSLStatusImpl::GetContentStatus() {
32   return content_status_;
33 }
34 
GetX509Certificate()35 CefRefPtr<CefX509Certificate> CefSSLStatusImpl::GetX509Certificate() {
36   if (certificate_ && !cef_certificate_)
37     cef_certificate_ = new CefX509CertificateImpl(certificate_);
38   return cef_certificate_;
39 }
40