cef/libcef/browser/x509_cert_principal_impl.cc

68 lines
1.7 KiB
C++
Raw Normal View History

// 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.
#include "libcef/browser/x509_cert_principal_impl.h"
namespace {
void TransferVector(const std::vector<std::string>& source,
std::vector<CefString>& target) {
2023-01-02 23:59:03 +01:00
if (!target.empty()) {
target.clear();
2023-01-02 23:59:03 +01:00
}
if (!source.empty()) {
std::vector<std::string>::const_iterator it = source.begin();
2023-01-02 23:59:03 +01:00
for (; it != source.end(); ++it) {
target.push_back(*it);
2023-01-02 23:59:03 +01:00
}
}
}
} // namespace
CefX509CertPrincipalImpl::CefX509CertPrincipalImpl(
const net::CertPrincipal& value)
: value_(value) {}
CefString CefX509CertPrincipalImpl::GetDisplayName() {
return value_.GetDisplayName();
}
CefString CefX509CertPrincipalImpl::GetCommonName() {
return value_.common_name;
}
CefString CefX509CertPrincipalImpl::GetLocalityName() {
return value_.locality_name;
}
CefString CefX509CertPrincipalImpl::GetStateOrProvinceName() {
return value_.state_or_province_name;
}
CefString CefX509CertPrincipalImpl::GetCountryName() {
return value_.country_name;
}
void CefX509CertPrincipalImpl::GetStreetAddresses(
std::vector<CefString>& addresses) {
TransferVector(value_.street_addresses, addresses);
}
void CefX509CertPrincipalImpl::GetOrganizationNames(
std::vector<CefString>& names) {
TransferVector(value_.organization_names, names);
}
void CefX509CertPrincipalImpl::GetOrganizationUnitNames(
std::vector<CefString>& names) {
TransferVector(value_.organization_unit_names, names);
}
void CefX509CertPrincipalImpl::GetDomainComponents(
std::vector<CefString>& components) {
TransferVector(value_.domain_components, components);
}