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)11CefSSLStatusImpl::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()19bool CefSSLStatusImpl::IsSecureConnection() { 20 return !!certificate_.get(); 21 } 22 GetCertStatus()23cef_cert_status_t CefSSLStatusImpl::GetCertStatus() { 24 return cert_status_; 25 } 26 GetSSLVersion()27cef_ssl_version_t CefSSLStatusImpl::GetSSLVersion() { 28 return ssl_version_; 29 } 30 GetContentStatus()31cef_ssl_content_status_t CefSSLStatusImpl::GetContentStatus() { 32 return content_status_; 33 } 34 GetX509Certificate()35CefRefPtr<CefX509Certificate> CefSSLStatusImpl::GetX509Certificate() { 36 if (certificate_ && !cef_certificate_) 37 cef_certificate_ = new CefX509CertificateImpl(certificate_); 38 return cef_certificate_; 39 } 40