#include "chrome/browser/enterprise/remote_commands/rotate_attestation_credential_job.h"
#include "base/check.h"
#include "base/functional/bind.h"
#include "base/json/json_reader.h"
#include "base/json/json_writer.h"
#include "base/task/single_thread_task_runner.h"
#include "base/values.h"
#include "chrome/browser/enterprise/connectors/device_trust/device_trust_features.h"
#include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/key_rotation_command.h"
namespace enterprise_commands {
DeviceTrustKeyManager;
KeyRotationResult;
namespace {
const char kNoncePathField[] = …;
const char kResultFieldName[] = …;
std::string ResultToString(KeyRotationResult result) { … }
std::string CreatePayload(KeyRotationResult result) { … }
std::string CreateUnsupportedPayload() { … }
bool IsSuccess(KeyRotationResult result) { … }
}
RotateAttestationCredentialJob::RotateAttestationCredentialJob(
DeviceTrustKeyManager* key_manager)
: … { … }
RotateAttestationCredentialJob::~RotateAttestationCredentialJob() = default;
enterprise_management::RemoteCommand_Type
RotateAttestationCredentialJob::GetType() const { … }
bool RotateAttestationCredentialJob::ParseCommandPayload(
const std::string& command_payload) { … }
void RotateAttestationCredentialJob::RunImpl(
CallbackWithResult result_callback) { … }
void RotateAttestationCredentialJob::OnKeyRotated(
CallbackWithResult result_callback,
KeyRotationResult rotation_result) { … }
}