chromium/chrome/updater/device_management/dm_response_validator.cc

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/updater/device_management/dm_response_validator.h"

#include <inttypes.h>

#include <string>

#include "base/check.h"
#include "base/containers/contains.h"
#include "base/containers/span.h"
#include "base/logging.h"
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
#include "chrome/enterprise_companion/device_management_storage/dm_storage.h"
#include "chrome/updater/constants.h"
#include "chrome/updater/device_management/dm_message.h"
#include "chrome/updater/protos/omaha_settings.pb.h"
#include "components/policy/core/common/cloud/cloud_policy_constants.h"
#include "components/policy/proto/device_management_backend.pb.h"
#include "crypto/signature_verifier.h"
#include "third_party/boringssl/src/include/openssl/rsa.h"

namespace updater {

namespace {

namespace edm = ::wireless_android_enterprise_devicemanagement;

constexpr const char* kProxyModeValidValues[] =;

crypto::SignatureVerifier::SignatureAlgorithm GetResponseSignatureType(
    const enterprise_management::PolicyFetchResponse& fetch_response) {}

bool VerifySignature(const std::string& data,
                     const std::string& key,
                     const std::string& signature,
                     crypto::SignatureVerifier::SignatureAlgorithm algorithm) {}

class OmahaPolicyValidator {};

bool OmahaPolicyValidator::Initialize(
    const enterprise_management::PolicyData& policy_data) {}

bool OmahaPolicyValidator::Validate(
    PolicyValidationResult& validation_result) const {}

void OmahaPolicyValidator::ValidateAutoUpdateCheckPeriodPolicy(
    PolicyValidationResult& validation_result) const {}

void OmahaPolicyValidator::ValidateDownloadPreferencePolicy(
    PolicyValidationResult& validation_result) const {}
void OmahaPolicyValidator::ValidateUpdatesSuppressedPolicies(
    PolicyValidationResult& validation_result) const {}

void OmahaPolicyValidator::ValidateProxyPolicies(
    PolicyValidationResult& validation_result) const {}

void OmahaPolicyValidator::ValidateAppTargetChannelPolicy(
    const edm::ApplicationSettings& app_settings,
    PolicyValidationResult& validation_result) const {}

void OmahaPolicyValidator::ValidateAppTargetVersionPrefixPolicy(
    const edm::ApplicationSettings& app_settings,
    PolicyValidationResult& validation_result) const {}

}  // namespace

PolicyValueValidationIssue::PolicyValueValidationIssue(
    const std::string& policy_name,
    Severity severity,
    const std::string& message)
    :{}
PolicyValueValidationIssue::~PolicyValueValidationIssue() = default;

PolicyValidationResult::PolicyValidationResult() = default;
PolicyValidationResult::PolicyValidationResult(
    const PolicyValidationResult& other) = default;
PolicyValidationResult::~PolicyValidationResult() = default;

DMResponseValidator::DMResponseValidator(
    const device_management_storage::CachedPolicyInfo& policy_info,
    const std::string& expected_dm_token,
    const std::string& expected_device_id)
    :{}

DMResponseValidator::~DMResponseValidator() = default;

bool DMResponseValidator::ValidateNewPublicKey(
    const enterprise_management::PolicyFetchResponse& fetch_response,
    std::string& signature_key,
    PolicyValidationResult& validation_result) const {}

bool DMResponseValidator::ValidateSignature(
    const enterprise_management::PolicyFetchResponse& policy_response,
    const std::string& signature_key,
    PolicyValidationResult& validation_result) const {}

bool DMResponseValidator::ValidateDMToken(
    const enterprise_management::PolicyData& policy_data,
    PolicyValidationResult& validation_result) const {}

bool DMResponseValidator::ValidateDeviceId(
    const enterprise_management::PolicyData& policy_data,
    PolicyValidationResult& validation_result) const {}

bool DMResponseValidator::ValidateTimestamp(
    const enterprise_management::PolicyData& policy_data,
    PolicyValidationResult& validation_result) const {}

bool DMResponseValidator::ValidatePayloadPolicy(
    const enterprise_management::PolicyData& policy_data,
    PolicyValidationResult& validation_result) const {}

bool DMResponseValidator::ValidatePolicyResponse(
    const enterprise_management::PolicyFetchResponse& fetch_response,
    PolicyValidationResult& validation_result) const {}

bool DMResponseValidator::ValidatePolicyData(
    const enterprise_management::PolicyFetchResponse& fetch_response) const {}

}  // namespace updater