Add API for SSL status and certificate retrieval (issue #1924)

This commit is contained in:
Marshall Greenblatt
2016-09-02 13:01:33 +03:00
parent 4d1a32e028
commit 10c1fd6b8d
53 changed files with 2239 additions and 1036 deletions

View File

@@ -18,6 +18,7 @@
#include "libcef_dll/ctocpp/browser_ctocpp.h"
#include "libcef_dll/ctocpp/browser_host_ctocpp.h"
#include "libcef_dll/ctocpp/drag_data_ctocpp.h"
#include "libcef_dll/ctocpp/navigation_entry_ctocpp.h"
#include "libcef_dll/ctocpp/request_context_ctocpp.h"
#include "libcef_dll/transfer_util.h"
@@ -789,6 +790,22 @@ void CefBrowserHostCToCpp::DragSourceSystemDragEnded() {
_struct->drag_source_system_drag_ended(_struct);
}
CefRefPtr<CefNavigationEntry> CefBrowserHostCToCpp::GetVisibleNavigationEntry(
) {
cef_browser_host_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_visible_navigation_entry))
return NULL;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_navigation_entry_t* _retval = _struct->get_visible_navigation_entry(
_struct);
// Return type: refptr_same
return CefNavigationEntryCToCpp::Wrap(_retval);
}
// CONSTRUCTOR - Do not edit by hand.

View File

@@ -97,6 +97,7 @@ class CefBrowserHostCToCpp
void DragTargetDrop(const CefMouseEvent& event) OVERRIDE;
void DragSourceEndedAt(int x, int y, DragOperationsMask op) OVERRIDE;
void DragSourceSystemDragEnded() OVERRIDE;
CefRefPtr<CefNavigationEntry> GetVisibleNavigationEntry() OVERRIDE;
};
#endif // USING_CEF_SHARED

View File

@@ -11,6 +11,7 @@
//
#include "libcef_dll/ctocpp/navigation_entry_ctocpp.h"
#include "libcef_dll/ctocpp/sslstatus_ctocpp.h"
// VIRTUAL METHODS - Body may be edited by hand.
@@ -150,6 +151,20 @@ int CefNavigationEntryCToCpp::GetHttpStatusCode() {
return _retval;
}
CefRefPtr<CefSSLStatus> CefNavigationEntryCToCpp::GetSSLStatus() {
cef_navigation_entry_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_sslstatus))
return NULL;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_sslstatus_t* _retval = _struct->get_sslstatus(_struct);
// Return type: refptr_same
return CefSSLStatusCToCpp::Wrap(_retval);
}
// CONSTRUCTOR - Do not edit by hand.

View File

@@ -20,6 +20,8 @@
#include "include/cef_navigation_entry.h"
#include "include/capi/cef_navigation_entry_capi.h"
#include "include/cef_ssl_status.h"
#include "include/capi/cef_ssl_status_capi.h"
#include "libcef_dll/ctocpp/ctocpp.h"
// Wrap a C structure with a C++ class.
@@ -40,6 +42,7 @@ class CefNavigationEntryCToCpp
bool HasPostData() OVERRIDE;
CefTime GetCompletionTime() OVERRIDE;
int GetHttpStatusCode() OVERRIDE;
CefRefPtr<CefSSLStatus> GetSSLStatus() OVERRIDE;
};
#endif // USING_CEF_SHARED

View File

@@ -10,10 +10,8 @@
// for more information.
//
#include <algorithm>
#include "libcef_dll/ctocpp/binary_value_ctocpp.h"
#include "libcef_dll/ctocpp/sslcert_principal_ctocpp.h"
#include "libcef_dll/ctocpp/sslinfo_ctocpp.h"
#include "libcef_dll/ctocpp/x509certificate_ctocpp.h"
// VIRTUAL METHODS - Body may be edited by hand.
@@ -32,222 +30,18 @@ cef_cert_status_t CefSSLInfoCToCpp::GetCertStatus() {
return _retval;
}
bool CefSSLInfoCToCpp::IsCertStatusError() {
CefRefPtr<CefX509Certificate> CefSSLInfoCToCpp::GetX509Certificate() {
cef_sslinfo_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, is_cert_status_error))
return false;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
int _retval = _struct->is_cert_status_error(_struct);
// Return type: bool
return _retval?true:false;
}
bool CefSSLInfoCToCpp::IsCertStatusMinorError() {
cef_sslinfo_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, is_cert_status_minor_error))
return false;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
int _retval = _struct->is_cert_status_minor_error(_struct);
// Return type: bool
return _retval?true:false;
}
CefRefPtr<CefSSLCertPrincipal> CefSSLInfoCToCpp::GetSubject() {
cef_sslinfo_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_subject))
if (CEF_MEMBER_MISSING(_struct, get_x509certificate))
return NULL;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_sslcert_principal_t* _retval = _struct->get_subject(_struct);
cef_x509certificate_t* _retval = _struct->get_x509certificate(_struct);
// Return type: refptr_same
return CefSSLCertPrincipalCToCpp::Wrap(_retval);
}
CefRefPtr<CefSSLCertPrincipal> CefSSLInfoCToCpp::GetIssuer() {
cef_sslinfo_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_issuer))
return NULL;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_sslcert_principal_t* _retval = _struct->get_issuer(_struct);
// Return type: refptr_same
return CefSSLCertPrincipalCToCpp::Wrap(_retval);
}
CefRefPtr<CefBinaryValue> CefSSLInfoCToCpp::GetSerialNumber() {
cef_sslinfo_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_serial_number))
return NULL;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_binary_value_t* _retval = _struct->get_serial_number(_struct);
// Return type: refptr_same
return CefBinaryValueCToCpp::Wrap(_retval);
}
CefTime CefSSLInfoCToCpp::GetValidStart() {
cef_sslinfo_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_valid_start))
return CefTime();
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_time_t _retval = _struct->get_valid_start(_struct);
// Return type: simple
return _retval;
}
CefTime CefSSLInfoCToCpp::GetValidExpiry() {
cef_sslinfo_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_valid_expiry))
return CefTime();
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_time_t _retval = _struct->get_valid_expiry(_struct);
// Return type: simple
return _retval;
}
CefRefPtr<CefBinaryValue> CefSSLInfoCToCpp::GetDEREncoded() {
cef_sslinfo_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_derencoded))
return NULL;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_binary_value_t* _retval = _struct->get_derencoded(_struct);
// Return type: refptr_same
return CefBinaryValueCToCpp::Wrap(_retval);
}
CefRefPtr<CefBinaryValue> CefSSLInfoCToCpp::GetPEMEncoded() {
cef_sslinfo_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_pemencoded))
return NULL;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_binary_value_t* _retval = _struct->get_pemencoded(_struct);
// Return type: refptr_same
return CefBinaryValueCToCpp::Wrap(_retval);
}
size_t CefSSLInfoCToCpp::GetIssuerChainSize() {
cef_sslinfo_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_issuer_chain_size))
return 0;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
size_t _retval = _struct->get_issuer_chain_size(_struct);
// Return type: simple
return _retval;
}
void CefSSLInfoCToCpp::GetDEREncodedIssuerChain(IssuerChainBinaryList& chain) {
cef_sslinfo_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_derencoded_issuer_chain))
return;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Translate param: chain; type: refptr_vec_same_byref
size_t chainSize = chain.size();
size_t chainCount = std::max(GetIssuerChainSize(), chainSize);
cef_binary_value_t** chainList = NULL;
if (chainCount > 0) {
chainList = new cef_binary_value_t*[chainCount];
DCHECK(chainList);
if (chainList) {
memset(chainList, 0, sizeof(cef_binary_value_t*)*chainCount);
}
if (chainList && chainSize > 0) {
for (size_t i = 0; i < chainSize; ++i) {
chainList[i] = CefBinaryValueCToCpp::Unwrap(chain[i]);
}
}
}
// Execute
_struct->get_derencoded_issuer_chain(_struct,
&chainCount,
chainList);
// Restore param:chain; type: refptr_vec_same_byref
chain.clear();
if (chainCount > 0 && chainList) {
for (size_t i = 0; i < chainCount; ++i) {
chain.push_back(CefBinaryValueCToCpp::Wrap(chainList[i]));
}
delete [] chainList;
}
}
void CefSSLInfoCToCpp::GetPEMEncodedIssuerChain(IssuerChainBinaryList& chain) {
cef_sslinfo_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_pemencoded_issuer_chain))
return;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Translate param: chain; type: refptr_vec_same_byref
size_t chainSize = chain.size();
size_t chainCount = std::max(GetIssuerChainSize(), chainSize);
cef_binary_value_t** chainList = NULL;
if (chainCount > 0) {
chainList = new cef_binary_value_t*[chainCount];
DCHECK(chainList);
if (chainList) {
memset(chainList, 0, sizeof(cef_binary_value_t*)*chainCount);
}
if (chainList && chainSize > 0) {
for (size_t i = 0; i < chainSize; ++i) {
chainList[i] = CefBinaryValueCToCpp::Unwrap(chain[i]);
}
}
}
// Execute
_struct->get_pemencoded_issuer_chain(_struct,
&chainCount,
chainList);
// Restore param:chain; type: refptr_vec_same_byref
chain.clear();
if (chainCount > 0 && chainList) {
for (size_t i = 0; i < chainCount; ++i) {
chain.push_back(CefBinaryValueCToCpp::Wrap(chainList[i]));
}
delete [] chainList;
}
return CefX509CertificateCToCpp::Wrap(_retval);
}

View File

@@ -31,18 +31,7 @@ class CefSSLInfoCToCpp
// CefSSLInfo methods.
cef_cert_status_t GetCertStatus() OVERRIDE;
bool IsCertStatusError() OVERRIDE;
bool IsCertStatusMinorError() OVERRIDE;
CefRefPtr<CefSSLCertPrincipal> GetSubject() OVERRIDE;
CefRefPtr<CefSSLCertPrincipal> GetIssuer() OVERRIDE;
CefRefPtr<CefBinaryValue> GetSerialNumber() OVERRIDE;
CefTime GetValidStart() OVERRIDE;
CefTime GetValidExpiry() OVERRIDE;
CefRefPtr<CefBinaryValue> GetDEREncoded() OVERRIDE;
CefRefPtr<CefBinaryValue> GetPEMEncoded() OVERRIDE;
size_t GetIssuerChainSize() OVERRIDE;
void GetDEREncodedIssuerChain(IssuerChainBinaryList& chain) OVERRIDE;
void GetPEMEncodedIssuerChain(IssuerChainBinaryList& chain) OVERRIDE;
CefRefPtr<CefX509Certificate> GetX509Certificate() OVERRIDE;
};
#endif // USING_CEF_SHARED

View File

@@ -0,0 +1,107 @@
// Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
//
// ---------------------------------------------------------------------------
//
// This file was generated by the CEF translator tool. If making changes by
// hand only do so within the body of existing method and function
// implementations. See the translator.README.txt file in the tools directory
// for more information.
//
#include "libcef_dll/ctocpp/sslstatus_ctocpp.h"
#include "libcef_dll/ctocpp/x509certificate_ctocpp.h"
// VIRTUAL METHODS - Body may be edited by hand.
bool CefSSLStatusCToCpp::IsSecureConnection() {
cef_sslstatus_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, is_secure_connection))
return false;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
int _retval = _struct->is_secure_connection(_struct);
// Return type: bool
return _retval?true:false;
}
cef_cert_status_t CefSSLStatusCToCpp::GetCertStatus() {
cef_sslstatus_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_cert_status))
return CERT_STATUS_NONE;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_cert_status_t _retval = _struct->get_cert_status(_struct);
// Return type: simple
return _retval;
}
cef_ssl_version_t CefSSLStatusCToCpp::GetSSLVersion() {
cef_sslstatus_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_sslversion))
return SSL_CONNECTION_VERSION_UNKNOWN;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_ssl_version_t _retval = _struct->get_sslversion(_struct);
// Return type: simple
return _retval;
}
cef_ssl_content_status_t CefSSLStatusCToCpp::GetContentStatus() {
cef_sslstatus_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_content_status))
return SSL_CONTENT_NORMAL_CONTENT;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_ssl_content_status_t _retval = _struct->get_content_status(_struct);
// Return type: simple
return _retval;
}
CefRefPtr<CefX509Certificate> CefSSLStatusCToCpp::GetX509Certificate() {
cef_sslstatus_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_x509certificate))
return NULL;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_x509certificate_t* _retval = _struct->get_x509certificate(_struct);
// Return type: refptr_same
return CefX509CertificateCToCpp::Wrap(_retval);
}
// CONSTRUCTOR - Do not edit by hand.
CefSSLStatusCToCpp::CefSSLStatusCToCpp() {
}
template<> cef_sslstatus_t* CefCToCpp<CefSSLStatusCToCpp, CefSSLStatus,
cef_sslstatus_t>::UnwrapDerived(CefWrapperType type, CefSSLStatus* c) {
NOTREACHED() << "Unexpected class type: " << type;
return NULL;
}
#if DCHECK_IS_ON()
template<> base::AtomicRefCount CefCToCpp<CefSSLStatusCToCpp, CefSSLStatus,
cef_sslstatus_t>::DebugObjCt = 0;
#endif
template<> CefWrapperType CefCToCpp<CefSSLStatusCToCpp, CefSSLStatus,
cef_sslstatus_t>::kWrapperType = WT_SSLSTATUS;

View File

@@ -0,0 +1,43 @@
// Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
//
// ---------------------------------------------------------------------------
//
// This file was generated by the CEF translator tool. If making changes by
// hand only do so within the body of existing method and function
// implementations. See the translator.README.txt file in the tools directory
// for more information.
//
#ifndef CEF_LIBCEF_DLL_CTOCPP_SSLSTATUS_CTOCPP_H_
#define CEF_LIBCEF_DLL_CTOCPP_SSLSTATUS_CTOCPP_H_
#pragma once
#ifndef USING_CEF_SHARED
#pragma message("Warning: "__FILE__" may be accessed wrapper-side only")
#else // USING_CEF_SHARED
#include "include/cef_ssl_status.h"
#include "include/capi/cef_ssl_status_capi.h"
#include "include/cef_x509_certificate.h"
#include "include/capi/cef_x509_certificate_capi.h"
#include "libcef_dll/ctocpp/ctocpp.h"
// Wrap a C structure with a C++ class.
// This class may be instantiated and accessed wrapper-side only.
class CefSSLStatusCToCpp
: public CefCToCpp<CefSSLStatusCToCpp, CefSSLStatus, cef_sslstatus_t> {
public:
CefSSLStatusCToCpp();
// CefSSLStatus methods.
bool IsSecureConnection() OVERRIDE;
cef_cert_status_t GetCertStatus() OVERRIDE;
cef_ssl_version_t GetSSLVersion() OVERRIDE;
cef_ssl_content_status_t GetContentStatus() OVERRIDE;
CefRefPtr<CefX509Certificate> GetX509Certificate() OVERRIDE;
};
#endif // USING_CEF_SHARED
#endif // CEF_LIBCEF_DLL_CTOCPP_SSLSTATUS_CTOCPP_H_

View File

@@ -10,14 +10,14 @@
// for more information.
//
#include "libcef_dll/ctocpp/sslcert_principal_ctocpp.h"
#include "libcef_dll/ctocpp/x509cert_principal_ctocpp.h"
#include "libcef_dll/transfer_util.h"
// VIRTUAL METHODS - Body may be edited by hand.
CefString CefSSLCertPrincipalCToCpp::GetDisplayName() {
cef_sslcert_principal_t* _struct = GetStruct();
CefString CefX509CertPrincipalCToCpp::GetDisplayName() {
cef_x509cert_principal_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_display_name))
return CefString();
@@ -32,8 +32,8 @@ CefString CefSSLCertPrincipalCToCpp::GetDisplayName() {
return _retvalStr;
}
CefString CefSSLCertPrincipalCToCpp::GetCommonName() {
cef_sslcert_principal_t* _struct = GetStruct();
CefString CefX509CertPrincipalCToCpp::GetCommonName() {
cef_x509cert_principal_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_common_name))
return CefString();
@@ -48,8 +48,8 @@ CefString CefSSLCertPrincipalCToCpp::GetCommonName() {
return _retvalStr;
}
CefString CefSSLCertPrincipalCToCpp::GetLocalityName() {
cef_sslcert_principal_t* _struct = GetStruct();
CefString CefX509CertPrincipalCToCpp::GetLocalityName() {
cef_x509cert_principal_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_locality_name))
return CefString();
@@ -64,8 +64,8 @@ CefString CefSSLCertPrincipalCToCpp::GetLocalityName() {
return _retvalStr;
}
CefString CefSSLCertPrincipalCToCpp::GetStateOrProvinceName() {
cef_sslcert_principal_t* _struct = GetStruct();
CefString CefX509CertPrincipalCToCpp::GetStateOrProvinceName() {
cef_x509cert_principal_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_state_or_province_name))
return CefString();
@@ -80,8 +80,8 @@ CefString CefSSLCertPrincipalCToCpp::GetStateOrProvinceName() {
return _retvalStr;
}
CefString CefSSLCertPrincipalCToCpp::GetCountryName() {
cef_sslcert_principal_t* _struct = GetStruct();
CefString CefX509CertPrincipalCToCpp::GetCountryName() {
cef_x509cert_principal_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_country_name))
return CefString();
@@ -96,9 +96,9 @@ CefString CefSSLCertPrincipalCToCpp::GetCountryName() {
return _retvalStr;
}
void CefSSLCertPrincipalCToCpp::GetStreetAddresses(
void CefX509CertPrincipalCToCpp::GetStreetAddresses(
std::vector<CefString>& addresses) {
cef_sslcert_principal_t* _struct = GetStruct();
cef_x509cert_principal_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_street_addresses))
return;
@@ -122,9 +122,9 @@ void CefSSLCertPrincipalCToCpp::GetStreetAddresses(
}
}
void CefSSLCertPrincipalCToCpp::GetOrganizationNames(
void CefX509CertPrincipalCToCpp::GetOrganizationNames(
std::vector<CefString>& names) {
cef_sslcert_principal_t* _struct = GetStruct();
cef_x509cert_principal_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_organization_names))
return;
@@ -148,9 +148,9 @@ void CefSSLCertPrincipalCToCpp::GetOrganizationNames(
}
}
void CefSSLCertPrincipalCToCpp::GetOrganizationUnitNames(
void CefX509CertPrincipalCToCpp::GetOrganizationUnitNames(
std::vector<CefString>& names) {
cef_sslcert_principal_t* _struct = GetStruct();
cef_x509cert_principal_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_organization_unit_names))
return;
@@ -174,9 +174,9 @@ void CefSSLCertPrincipalCToCpp::GetOrganizationUnitNames(
}
}
void CefSSLCertPrincipalCToCpp::GetDomainComponents(
void CefX509CertPrincipalCToCpp::GetDomainComponents(
std::vector<CefString>& components) {
cef_sslcert_principal_t* _struct = GetStruct();
cef_x509cert_principal_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_domain_components))
return;
@@ -203,21 +203,21 @@ void CefSSLCertPrincipalCToCpp::GetDomainComponents(
// CONSTRUCTOR - Do not edit by hand.
CefSSLCertPrincipalCToCpp::CefSSLCertPrincipalCToCpp() {
CefX509CertPrincipalCToCpp::CefX509CertPrincipalCToCpp() {
}
template<> cef_sslcert_principal_t* CefCToCpp<CefSSLCertPrincipalCToCpp,
CefSSLCertPrincipal, cef_sslcert_principal_t>::UnwrapDerived(
CefWrapperType type, CefSSLCertPrincipal* c) {
template<> cef_x509cert_principal_t* CefCToCpp<CefX509CertPrincipalCToCpp,
CefX509CertPrincipal, cef_x509cert_principal_t>::UnwrapDerived(
CefWrapperType type, CefX509CertPrincipal* c) {
NOTREACHED() << "Unexpected class type: " << type;
return NULL;
}
#if DCHECK_IS_ON()
template<> base::AtomicRefCount CefCToCpp<CefSSLCertPrincipalCToCpp,
CefSSLCertPrincipal, cef_sslcert_principal_t>::DebugObjCt = 0;
template<> base::AtomicRefCount CefCToCpp<CefX509CertPrincipalCToCpp,
CefX509CertPrincipal, cef_x509cert_principal_t>::DebugObjCt = 0;
#endif
template<> CefWrapperType CefCToCpp<CefSSLCertPrincipalCToCpp,
CefSSLCertPrincipal, cef_sslcert_principal_t>::kWrapperType =
WT_SSLCERT_PRINCIPAL;
template<> CefWrapperType CefCToCpp<CefX509CertPrincipalCToCpp,
CefX509CertPrincipal, cef_x509cert_principal_t>::kWrapperType =
WT_X509CERT_PRINCIPAL;

View File

@@ -10,8 +10,8 @@
// for more information.
//
#ifndef CEF_LIBCEF_DLL_CTOCPP_SSLCERT_PRINCIPAL_CTOCPP_H_
#define CEF_LIBCEF_DLL_CTOCPP_SSLCERT_PRINCIPAL_CTOCPP_H_
#ifndef CEF_LIBCEF_DLL_CTOCPP_X509CERT_PRINCIPAL_CTOCPP_H_
#define CEF_LIBCEF_DLL_CTOCPP_X509CERT_PRINCIPAL_CTOCPP_H_
#pragma once
#ifndef USING_CEF_SHARED
@@ -19,19 +19,19 @@
#else // USING_CEF_SHARED
#include <vector>
#include "include/cef_ssl_info.h"
#include "include/capi/cef_ssl_info_capi.h"
#include "include/cef_x509_certificate.h"
#include "include/capi/cef_x509_certificate_capi.h"
#include "libcef_dll/ctocpp/ctocpp.h"
// Wrap a C structure with a C++ class.
// This class may be instantiated and accessed wrapper-side only.
class CefSSLCertPrincipalCToCpp
: public CefCToCpp<CefSSLCertPrincipalCToCpp, CefSSLCertPrincipal,
cef_sslcert_principal_t> {
class CefX509CertPrincipalCToCpp
: public CefCToCpp<CefX509CertPrincipalCToCpp, CefX509CertPrincipal,
cef_x509cert_principal_t> {
public:
CefSSLCertPrincipalCToCpp();
CefX509CertPrincipalCToCpp();
// CefSSLCertPrincipal methods.
// CefX509CertPrincipal methods.
CefString GetDisplayName() OVERRIDE;
CefString GetCommonName() OVERRIDE;
CefString GetLocalityName() OVERRIDE;
@@ -44,4 +44,4 @@ class CefSSLCertPrincipalCToCpp
};
#endif // USING_CEF_SHARED
#endif // CEF_LIBCEF_DLL_CTOCPP_SSLCERT_PRINCIPAL_CTOCPP_H_
#endif // CEF_LIBCEF_DLL_CTOCPP_X509CERT_PRINCIPAL_CTOCPP_H_

View File

@@ -0,0 +1,233 @@
// Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
//
// ---------------------------------------------------------------------------
//
// This file was generated by the CEF translator tool. If making changes by
// hand only do so within the body of existing method and function
// implementations. See the translator.README.txt file in the tools directory
// for more information.
//
#include <algorithm>
#include "libcef_dll/ctocpp/binary_value_ctocpp.h"
#include "libcef_dll/ctocpp/x509cert_principal_ctocpp.h"
#include "libcef_dll/ctocpp/x509certificate_ctocpp.h"
// VIRTUAL METHODS - Body may be edited by hand.
CefRefPtr<CefX509CertPrincipal> CefX509CertificateCToCpp::GetSubject() {
cef_x509certificate_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_subject))
return NULL;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_x509cert_principal_t* _retval = _struct->get_subject(_struct);
// Return type: refptr_same
return CefX509CertPrincipalCToCpp::Wrap(_retval);
}
CefRefPtr<CefX509CertPrincipal> CefX509CertificateCToCpp::GetIssuer() {
cef_x509certificate_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_issuer))
return NULL;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_x509cert_principal_t* _retval = _struct->get_issuer(_struct);
// Return type: refptr_same
return CefX509CertPrincipalCToCpp::Wrap(_retval);
}
CefRefPtr<CefBinaryValue> CefX509CertificateCToCpp::GetSerialNumber() {
cef_x509certificate_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_serial_number))
return NULL;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_binary_value_t* _retval = _struct->get_serial_number(_struct);
// Return type: refptr_same
return CefBinaryValueCToCpp::Wrap(_retval);
}
CefTime CefX509CertificateCToCpp::GetValidStart() {
cef_x509certificate_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_valid_start))
return CefTime();
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_time_t _retval = _struct->get_valid_start(_struct);
// Return type: simple
return _retval;
}
CefTime CefX509CertificateCToCpp::GetValidExpiry() {
cef_x509certificate_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_valid_expiry))
return CefTime();
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_time_t _retval = _struct->get_valid_expiry(_struct);
// Return type: simple
return _retval;
}
CefRefPtr<CefBinaryValue> CefX509CertificateCToCpp::GetDEREncoded() {
cef_x509certificate_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_derencoded))
return NULL;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_binary_value_t* _retval = _struct->get_derencoded(_struct);
// Return type: refptr_same
return CefBinaryValueCToCpp::Wrap(_retval);
}
CefRefPtr<CefBinaryValue> CefX509CertificateCToCpp::GetPEMEncoded() {
cef_x509certificate_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_pemencoded))
return NULL;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
cef_binary_value_t* _retval = _struct->get_pemencoded(_struct);
// Return type: refptr_same
return CefBinaryValueCToCpp::Wrap(_retval);
}
size_t CefX509CertificateCToCpp::GetIssuerChainSize() {
cef_x509certificate_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_issuer_chain_size))
return 0;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Execute
size_t _retval = _struct->get_issuer_chain_size(_struct);
// Return type: simple
return _retval;
}
void CefX509CertificateCToCpp::GetDEREncodedIssuerChain(
IssuerChainBinaryList& chain) {
cef_x509certificate_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_derencoded_issuer_chain))
return;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Translate param: chain; type: refptr_vec_same_byref
size_t chainSize = chain.size();
size_t chainCount = std::max(GetIssuerChainSize(), chainSize);
cef_binary_value_t** chainList = NULL;
if (chainCount > 0) {
chainList = new cef_binary_value_t*[chainCount];
DCHECK(chainList);
if (chainList) {
memset(chainList, 0, sizeof(cef_binary_value_t*)*chainCount);
}
if (chainList && chainSize > 0) {
for (size_t i = 0; i < chainSize; ++i) {
chainList[i] = CefBinaryValueCToCpp::Unwrap(chain[i]);
}
}
}
// Execute
_struct->get_derencoded_issuer_chain(_struct,
&chainCount,
chainList);
// Restore param:chain; type: refptr_vec_same_byref
chain.clear();
if (chainCount > 0 && chainList) {
for (size_t i = 0; i < chainCount; ++i) {
chain.push_back(CefBinaryValueCToCpp::Wrap(chainList[i]));
}
delete [] chainList;
}
}
void CefX509CertificateCToCpp::GetPEMEncodedIssuerChain(
IssuerChainBinaryList& chain) {
cef_x509certificate_t* _struct = GetStruct();
if (CEF_MEMBER_MISSING(_struct, get_pemencoded_issuer_chain))
return;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Translate param: chain; type: refptr_vec_same_byref
size_t chainSize = chain.size();
size_t chainCount = std::max(GetIssuerChainSize(), chainSize);
cef_binary_value_t** chainList = NULL;
if (chainCount > 0) {
chainList = new cef_binary_value_t*[chainCount];
DCHECK(chainList);
if (chainList) {
memset(chainList, 0, sizeof(cef_binary_value_t*)*chainCount);
}
if (chainList && chainSize > 0) {
for (size_t i = 0; i < chainSize; ++i) {
chainList[i] = CefBinaryValueCToCpp::Unwrap(chain[i]);
}
}
}
// Execute
_struct->get_pemencoded_issuer_chain(_struct,
&chainCount,
chainList);
// Restore param:chain; type: refptr_vec_same_byref
chain.clear();
if (chainCount > 0 && chainList) {
for (size_t i = 0; i < chainCount; ++i) {
chain.push_back(CefBinaryValueCToCpp::Wrap(chainList[i]));
}
delete [] chainList;
}
}
// CONSTRUCTOR - Do not edit by hand.
CefX509CertificateCToCpp::CefX509CertificateCToCpp() {
}
template<> cef_x509certificate_t* CefCToCpp<CefX509CertificateCToCpp,
CefX509Certificate, cef_x509certificate_t>::UnwrapDerived(
CefWrapperType type, CefX509Certificate* c) {
NOTREACHED() << "Unexpected class type: " << type;
return NULL;
}
#if DCHECK_IS_ON()
template<> base::AtomicRefCount CefCToCpp<CefX509CertificateCToCpp,
CefX509Certificate, cef_x509certificate_t>::DebugObjCt = 0;
#endif
template<> CefWrapperType CefCToCpp<CefX509CertificateCToCpp,
CefX509Certificate, cef_x509certificate_t>::kWrapperType =
WT_X509CERTIFICATE;

View File

@@ -0,0 +1,47 @@
// Copyright (c) 2016 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
//
// ---------------------------------------------------------------------------
//
// This file was generated by the CEF translator tool. If making changes by
// hand only do so within the body of existing method and function
// implementations. See the translator.README.txt file in the tools directory
// for more information.
//
#ifndef CEF_LIBCEF_DLL_CTOCPP_X509CERTIFICATE_CTOCPP_H_
#define CEF_LIBCEF_DLL_CTOCPP_X509CERTIFICATE_CTOCPP_H_
#pragma once
#ifndef USING_CEF_SHARED
#pragma message("Warning: "__FILE__" may be accessed wrapper-side only")
#else // USING_CEF_SHARED
#include "include/cef_x509_certificate.h"
#include "include/capi/cef_x509_certificate_capi.h"
#include "libcef_dll/ctocpp/ctocpp.h"
// Wrap a C structure with a C++ class.
// This class may be instantiated and accessed wrapper-side only.
class CefX509CertificateCToCpp
: public CefCToCpp<CefX509CertificateCToCpp, CefX509Certificate,
cef_x509certificate_t> {
public:
CefX509CertificateCToCpp();
// CefX509Certificate methods.
CefRefPtr<CefX509CertPrincipal> GetSubject() OVERRIDE;
CefRefPtr<CefX509CertPrincipal> GetIssuer() OVERRIDE;
CefRefPtr<CefBinaryValue> GetSerialNumber() OVERRIDE;
CefTime GetValidStart() OVERRIDE;
CefTime GetValidExpiry() OVERRIDE;
CefRefPtr<CefBinaryValue> GetDEREncoded() OVERRIDE;
CefRefPtr<CefBinaryValue> GetPEMEncoded() OVERRIDE;
size_t GetIssuerChainSize() OVERRIDE;
void GetDEREncodedIssuerChain(IssuerChainBinaryList& chain) OVERRIDE;
void GetPEMEncodedIssuerChain(IssuerChainBinaryList& chain) OVERRIDE;
};
#endif // USING_CEF_SHARED
#endif // CEF_LIBCEF_DLL_CTOCPP_X509CERTIFICATE_CTOCPP_H_