blob: ae05ae24680debf2a40e88f41e4e93189ad2c74c [file] [log] [blame]
// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHAPS_CHAPS_ADAPTOR_H
#define CHAPS_CHAPS_ADAPTOR_H
#include <base/basictypes.h>
#include "chaps/dbus_adaptors/chaps_interface.h"
namespace base {
class Lock;
}
namespace chaps {
class ChapsInterface;
class TokenManagerInterface;
// The ChapsAdaptor class implements the dbus-c++ generated adaptor interface
// and redirects IPC calls to a ChapsInterface instance. All dbus-c++ specific
// logic, error handling, etc. is implemented here. Specifically, the
// ChapsInterface instance need not be aware of dbus-c++ or IPC. This class
// exists because we don't want to couple dbus-c++ with the Chaps service
// implementation.
class ChapsAdaptor : public org::chromium::Chaps_adaptor,
public DBus::ObjectAdaptor {
public:
ChapsAdaptor(base::Lock* lock,
ChapsInterface* service,
TokenManagerInterface* token_manager);
virtual ~ChapsAdaptor();
// These methods are generated by the ChromeOS dbus library.
virtual void OpenIsolate(const std::vector<uint8_t>& isolate_credential_in,
std::vector<uint8_t>& isolate_credential_out,
bool& new_isolate_created,
bool& result,
::DBus::Error& error);
virtual void CloseIsolate(const std::vector<uint8_t>& isolate_credential,
::DBus::Error& error);
virtual void LoadToken(const std::vector<uint8_t>& isolate_credential,
const std::string& path,
const std::vector<uint8_t>& auth_data,
const std::string& label,
uint64_t& slot_id,
bool& result,
::DBus::Error& error);
virtual void UnloadToken(const std::vector<uint8_t>& isolate_credential,
const std::string& path,
::DBus::Error& error);
virtual void ChangeTokenAuthData(const std::string& path,
const std::vector<uint8_t>& old_auth_data,
const std::vector<uint8_t>& new_auth_data,
::DBus::Error& error);
virtual void GetTokenPath(const std::vector<uint8_t>& isolate_credential,
const uint64_t& slot_id,
std::string& path,
bool& result,
::DBus::Error& error);
virtual void SetLogLevel(const int32_t& level, ::DBus::Error& error);
virtual void GetSlotList(const std::vector<uint8_t>& isolate_credential,
const bool& token_present,
std::vector<uint64_t>& slot_list,
uint32_t& result,
::DBus::Error& error);
virtual void GetSlotInfo(const std::vector<uint8_t>& isolate_credential,
const uint64_t& slot_id,
std::vector<uint8_t>& slot_description,
std::vector<uint8_t>& manufacturer_id,
uint64_t& flags,
uint8_t& hardware_version_major,
uint8_t& hardware_version_minor,
uint8_t& firmware_version_major,
uint8_t& firmware_version_minor,
uint32_t& result,
::DBus::Error& error);
virtual void GetTokenInfo(const std::vector<uint8_t>& isolate_credential,
const uint64_t& slot_id,
std::vector<uint8_t>& label,
std::vector<uint8_t>& manufacturer_id,
std::vector<uint8_t>& model,
std::vector<uint8_t>& serial_number,
uint64_t& flags,
uint64_t& max_session_count,
uint64_t& session_count,
uint64_t& max_session_count_rw,
uint64_t& session_count_rw,
uint64_t& max_pin_len,
uint64_t& min_pin_len,
uint64_t& total_public_memory,
uint64_t& free_public_memory,
uint64_t& total_private_memory,
uint64_t& free_private_memory,
uint8_t& hardware_version_major,
uint8_t& hardware_version_minor,
uint8_t& firmware_version_major,
uint8_t& firmware_version_minor,
uint32_t& result,
::DBus::Error& error);
virtual void GetMechanismList(const std::vector<uint8_t>& isolate_credential,
const uint64_t& slot_id,
std::vector<uint64_t>& mechanism_list,
uint32_t& result,
::DBus::Error& error);
virtual void GetMechanismInfo(const std::vector<uint8_t>& isolate_credential,
const uint64_t& slot_id,
const uint64_t& mechanism_type,
uint64_t& min_key_size,
uint64_t& max_key_size,
uint64_t& flags,
uint32_t& result,
::DBus::Error& error);
virtual uint32_t InitToken(const std::vector<uint8_t>& isolate_credential,
const uint64_t& slot_id,
const bool& use_null_pin,
const std::string& optional_so_pin,
const std::vector<uint8_t>& new_token_label,
::DBus::Error& error);
virtual uint32_t InitPIN(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const bool& use_null_pin,
const std::string& optional_user_pin,
::DBus::Error& error);
virtual uint32_t SetPIN(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const bool& use_null_old_pin,
const std::string& optional_old_pin,
const bool& use_null_new_pin,
const std::string& optional_new_pin,
::DBus::Error& error);
virtual void OpenSession(const std::vector<uint8_t>& isolate_credential,
const uint64_t& slot_id, const uint64_t& flags,
uint64_t& session_id, uint32_t& result,
::DBus::Error& error);
virtual uint32_t CloseSession(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
::DBus::Error& error);
virtual uint32_t CloseAllSessions(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& slot_id,
::DBus::Error& error);
virtual void GetSessionInfo(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
uint64_t& slot_id,
uint64_t& state,
uint64_t& flags,
uint64_t& device_error,
uint32_t& result,
::DBus::Error& error);
virtual void GetOperationState(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
std::vector<uint8_t>& operation_state,
uint32_t& result,
::DBus::Error& error);
virtual uint32_t SetOperationState(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& operation_state,
const uint64_t& encryption_key_handle,
const uint64_t& authentication_key_handle,
::DBus::Error& error);
virtual uint32_t Login(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& user_type,
const bool& use_null_pin,
const std::string& optional_pin,
::DBus::Error& error);
virtual uint32_t Logout(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
::DBus::Error& error);
virtual void CreateObject(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& attributes,
uint64_t& new_object_handle,
uint32_t& result,
::DBus::Error& error);
virtual void CopyObject(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& object_handle,
const std::vector<uint8_t>& attributes,
uint64_t& new_object_handle,
uint32_t& result,
::DBus::Error& error);
virtual uint32_t DestroyObject(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& object_handle,
::DBus::Error& error);
virtual void GetObjectSize(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& object_handle,
uint64_t& object_size,
uint32_t& result,
::DBus::Error& error);
virtual void GetAttributeValue(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& object_handle,
const std::vector<uint8_t>& attributes_in,
std::vector<uint8_t>& attributes_out,
uint32_t& result,
::DBus::Error& error);
virtual uint32_t SetAttributeValue(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& object_handle,
const std::vector<uint8_t>& attributes,
::DBus::Error& error);
virtual uint32_t FindObjectsInit(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& attributes,
::DBus::Error& error);
virtual void FindObjects(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& max_object_count,
std::vector<uint64_t>& object_list,
uint32_t& result,
::DBus::Error& error);
virtual uint32_t FindObjectsFinal(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
::DBus::Error& error);
virtual uint32_t EncryptInit(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& key_handle,
::DBus::Error& error);
virtual void Encrypt(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result,
::DBus::Error& error);
virtual void EncryptUpdate(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result,
::DBus::Error& error);
virtual void EncryptFinal(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result,
::DBus::Error& error);
virtual uint32_t DecryptInit(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& key_handle,
::DBus::Error& error);
virtual void Decrypt(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result,
::DBus::Error& error);
virtual void DecryptUpdate(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result,
::DBus::Error& error);
virtual void DecryptFinal(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result,
::DBus::Error& error);
virtual uint32_t DigestInit(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
::DBus::Error& error);
virtual void Digest(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& digest,
uint32_t& result,
::DBus::Error& error);
virtual uint32_t DigestUpdate(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
::DBus::Error& error);
virtual uint32_t DigestKey(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& key_handle,
::DBus::Error& error);
virtual void DigestFinal(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& digest,
uint32_t& result,
::DBus::Error& error);
virtual uint32_t SignInit(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& key_handle,
::DBus::Error& error);
virtual void Sign(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& signature,
uint32_t& result,
::DBus::Error& error);
virtual uint32_t SignUpdate(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_part,
::DBus::Error& error);
virtual void SignFinal(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& signature,
uint32_t& result,
::DBus::Error& error);
virtual uint32_t SignRecoverInit(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& key_handle,
::DBus::Error& error);
virtual void SignRecover(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& signature,
uint32_t& result,
::DBus::Error& error);
virtual uint32_t VerifyInit(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& key_handle,
::DBus::Error& error);
virtual uint32_t Verify(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data,
const std::vector<uint8_t>& signature,
::DBus::Error& error);
virtual uint32_t VerifyUpdate(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_part,
::DBus::Error& error);
virtual uint32_t VerifyFinal(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& signature,
::DBus::Error& error);
virtual uint32_t VerifyRecoverInit(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& key_handle,
::DBus::Error& error);
virtual void VerifyRecover(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& signature,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data,
uint32_t& result,
::DBus::Error& error);
virtual void DigestEncryptUpdate(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result,
::DBus::Error& error);
virtual void DecryptDigestUpdate(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result,
::DBus::Error& error);
virtual void SignEncryptUpdate(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result,
::DBus::Error& error);
virtual void DecryptVerifyUpdate(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result,
::DBus::Error& error);
virtual void GenerateKey(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const std::vector<uint8_t>& attributes,
uint64_t& key_handle,
uint32_t& result,
::DBus::Error& error);
virtual void GenerateKeyPair(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const std::vector<uint8_t>& public_attributes,
const std::vector<uint8_t>& private_attributes,
uint64_t& public_key_handle,
uint64_t& private_key_handle,
uint32_t& result,
::DBus::Error& error);
virtual void WrapKey(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& wrapping_key_handle,
const uint64_t& key_handle,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& wrapped_key,
uint32_t& result,
::DBus::Error& error);
virtual void UnwrapKey(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& wrapping_key_handle,
const std::vector<uint8_t>& wrapped_key,
const std::vector<uint8_t>& attributes,
uint64_t& key_handle,
uint32_t& result,
::DBus::Error& error);
virtual void DeriveKey(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& base_key_handle,
const std::vector<uint8_t>& attributes,
uint64_t& key_handle,
uint32_t& result,
::DBus::Error& error);
virtual uint32_t SeedRandom(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& seed,
::DBus::Error& error);
virtual void GenerateRandom(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& num_bytes,
std::vector<uint8_t>& random_data,
uint32_t& result,
::DBus::Error& error);
// These methods are generated by the Linux dbus library.
virtual void OpenIsolate(const std::vector<uint8_t>& isolate_credential_in,
std::vector<uint8_t>& isolate_credential_out,
bool& new_isolate_created,
bool& result);
virtual void CloseIsolate(const std::vector<uint8_t>& isolate_credential);
virtual void LoadToken(const std::vector<uint8_t>& isolate_credential,
const std::string& path,
const std::vector<uint8_t>& auth_data,
const std::string& label,
uint64_t& slot_id,
bool& result);
virtual void UnloadToken(const std::vector<uint8_t>& isolate_credential,
const std::string& path);
virtual void ChangeTokenAuthData(const std::string& path,
const std::vector<uint8_t>& old_auth_data,
const std::vector<uint8_t>& new_auth_data);
virtual void GetTokenPath(const std::vector<uint8_t>& isolate_credential,
const uint64_t& slot_id,
std::string& path,
bool& result);
virtual void SetLogLevel(const int32_t& level);
virtual void GetSlotList(const std::vector<uint8_t>& isolate_credential,
const bool& token_present,
std::vector<uint64_t>& slot_list,
uint32_t& result);
virtual void GetSlotInfo(const std::vector<uint8_t>& isolate_credential,
const uint64_t& slot_id,
std::vector<uint8_t>& slot_description,
std::vector<uint8_t>& manufacturer_id,
uint64_t& flags,
uint8_t& hardware_version_major,
uint8_t& hardware_version_minor,
uint8_t& firmware_version_major,
uint8_t& firmware_version_minor,
uint32_t& result);
virtual void GetTokenInfo(const std::vector<uint8_t>& isolate_credential,
const uint64_t& slot_id,
std::vector<uint8_t>& label,
std::vector<uint8_t>& manufacturer_id,
std::vector<uint8_t>& model,
std::vector<uint8_t>& serial_number,
uint64_t& flags,
uint64_t& max_session_count,
uint64_t& session_count,
uint64_t& max_session_count_rw,
uint64_t& session_count_rw,
uint64_t& max_pin_len,
uint64_t& min_pin_len,
uint64_t& total_public_memory,
uint64_t& free_public_memory,
uint64_t& total_private_memory,
uint64_t& free_private_memory,
uint8_t& hardware_version_major,
uint8_t& hardware_version_minor,
uint8_t& firmware_version_major,
uint8_t& firmware_version_minor,
uint32_t& result);
virtual void GetMechanismList(const std::vector<uint8_t>& isolate_credential,
const uint64_t& slot_id,
std::vector<uint64_t>& mechanism_list,
uint32_t& result);
virtual void GetMechanismInfo(const std::vector<uint8_t>& isolate_credential,
const uint64_t& slot_id,
const uint64_t& mechanism_type,
uint64_t& min_key_size,
uint64_t& max_key_size,
uint64_t& flags,
uint32_t& result);
virtual uint32_t InitToken(const std::vector<uint8_t>& isolate_credential,
const uint64_t& slot_id,
const bool& use_null_pin,
const std::string& optional_so_pin,
const std::vector<uint8_t>& new_token_label);
virtual uint32_t InitPIN(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const bool& use_null_pin,
const std::string& optional_user_pin);
virtual uint32_t SetPIN(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const bool& use_null_old_pin,
const std::string& optional_old_pin,
const bool& use_null_new_pin,
const std::string& optional_new_pin);
virtual void OpenSession(const std::vector<uint8_t>& isolate_credential,
const uint64_t& slot_id, const uint64_t& flags,
uint64_t& session_id, uint32_t& result);
virtual uint32_t CloseSession(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id);
virtual uint32_t CloseAllSessions(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& slot_id);
virtual void GetSessionInfo(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
uint64_t& slot_id,
uint64_t& state,
uint64_t& flags,
uint64_t& device_error,
uint32_t& result);
virtual void GetOperationState(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
std::vector<uint8_t>& operation_state,
uint32_t& result);
virtual uint32_t SetOperationState(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& operation_state,
const uint64_t& encryption_key_handle,
const uint64_t& authentication_key_handle);
virtual uint32_t Login(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& user_type,
const bool& use_null_pin,
const std::string& optional_pin);
virtual uint32_t Logout(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id);
virtual void CreateObject(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& attributes,
uint64_t& new_object_handle,
uint32_t& result);
virtual void CopyObject(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& object_handle,
const std::vector<uint8_t>& attributes,
uint64_t& new_object_handle,
uint32_t& result);
virtual uint32_t DestroyObject(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& object_handle);
virtual void GetObjectSize(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& object_handle,
uint64_t& object_size,
uint32_t& result);
virtual void GetAttributeValue(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& object_handle,
const std::vector<uint8_t>& attributes_in,
std::vector<uint8_t>& attributes_out,
uint32_t& result);
virtual uint32_t SetAttributeValue(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& object_handle,
const std::vector<uint8_t>& attributes);
virtual uint32_t FindObjectsInit(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& attributes);
virtual void FindObjects(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& max_object_count,
std::vector<uint64_t>& object_list,
uint32_t& result);
virtual uint32_t FindObjectsFinal(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id);
virtual uint32_t EncryptInit(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& key_handle);
virtual void Encrypt(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result);
virtual void EncryptUpdate(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result);
virtual void EncryptFinal(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result);
virtual uint32_t DecryptInit(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& key_handle);
virtual void Decrypt(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result);
virtual void DecryptUpdate(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result);
virtual void DecryptFinal(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result);
virtual uint32_t DigestInit(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter);
virtual void Digest(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& digest,
uint32_t& result);
virtual uint32_t DigestUpdate(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in);
virtual uint32_t DigestKey(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& key_handle);
virtual void DigestFinal(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& digest,
uint32_t& result);
virtual uint32_t SignInit(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& key_handle);
virtual void Sign(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& signature,
uint32_t& result);
virtual uint32_t SignUpdate(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_part);
virtual void SignFinal(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& signature,
uint32_t& result);
virtual uint32_t SignRecoverInit(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& key_handle);
virtual void SignRecover(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& signature,
uint32_t& result);
virtual uint32_t VerifyInit(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& key_handle);
virtual uint32_t Verify(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data,
const std::vector<uint8_t>& signature);
virtual uint32_t VerifyUpdate(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_part);
virtual uint32_t VerifyFinal(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& signature);
virtual uint32_t VerifyRecoverInit(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& key_handle);
virtual void VerifyRecover(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& signature,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data,
uint32_t& result);
virtual void DigestEncryptUpdate(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result);
virtual void DecryptDigestUpdate(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result);
virtual void SignEncryptUpdate(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result);
virtual void DecryptVerifyUpdate(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& data_in,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& data_out,
uint32_t& result);
virtual void GenerateKey(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const std::vector<uint8_t>& attributes,
uint64_t& key_handle,
uint32_t& result);
virtual void GenerateKeyPair(
const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const std::vector<uint8_t>& public_attributes,
const std::vector<uint8_t>& private_attributes,
uint64_t& public_key_handle,
uint64_t& private_key_handle,
uint32_t& result);
virtual void WrapKey(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& wrapping_key_handle,
const uint64_t& key_handle,
const uint64_t& max_out_length,
uint64_t& actual_out_length,
std::vector<uint8_t>& wrapped_key,
uint32_t& result);
virtual void UnwrapKey(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& wrapping_key_handle,
const std::vector<uint8_t>& wrapped_key,
const std::vector<uint8_t>& attributes,
uint64_t& key_handle,
uint32_t& result);
virtual void DeriveKey(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& mechanism_type,
const std::vector<uint8_t>& mechanism_parameter,
const uint64_t& base_key_handle,
const std::vector<uint8_t>& attributes,
uint64_t& key_handle,
uint32_t& result);
virtual uint32_t SeedRandom(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const std::vector<uint8_t>& seed);
virtual void GenerateRandom(const std::vector<uint8_t>& isolate_credential,
const uint64_t& session_id,
const uint64_t& num_bytes,
std::vector<uint8_t>& random_data,
uint32_t& result);
private:
base::Lock* lock_;
ChapsInterface* service_;
TokenManagerInterface* token_manager_;
DISALLOW_COPY_AND_ASSIGN(ChapsAdaptor);
};
} // namespace
#endif // CHAPS_CHAPS_ADAPTOR_H