// Copyright 2015 The Chromium 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 "components/cryptauth/fake_secure_context.h" #include #include "base/strings/string_util.h" namespace cryptauth { namespace { const char kFakeEncodingSuffix[] = ", but encoded"; const size_t kFakeEncodingSuffixLen = sizeof(kFakeEncodingSuffix) - 1; const char kChannelBindingData[] = "channel binding data"; } // namespace FakeSecureContext::FakeSecureContext() : protocol_version_(SecureContext::PROTOCOL_VERSION_THREE_ONE) {} FakeSecureContext::~FakeSecureContext() {} std::string FakeSecureContext::GetChannelBindingData() const { return kChannelBindingData; } SecureContext::ProtocolVersion FakeSecureContext::GetProtocolVersion() const { return protocol_version_; } void FakeSecureContext::Encode(const std::string& message, const MessageCallback& callback) { callback.Run(message + kFakeEncodingSuffix); } void FakeSecureContext::Decode(const std::string& encoded_message, const MessageCallback& callback) { if (!EndsWith(encoded_message, kFakeEncodingSuffix, base::CompareCase::SENSITIVE)) { callback.Run(std::string()); } std::string decoded_message = encoded_message; decoded_message.erase(decoded_message.size() - kFakeEncodingSuffixLen); callback.Run(decoded_message); } } // namespace cryptauth