/*
 * Copyright (c) 2016 Samsung Electronics Co., Ltd. All rights reserved.
 *
 * Created in Samsung Ukraine R&D Center (SRK) under a contract between
 * LLC "Samsung Electronics Ukraine Company" (Kiev, Ukraine)
 * and "Samsung Electronics Co", Ltd (Seoul, Republic of Korea)
 *
 * Created on: May 19, 2016
 * Author: Konstyantyn Volobuyev <k.volobuyev@samsung.com>
 * Brief: Signature operation interface.
 */

#ifndef TIGERSIGNMESSAGE_H
#define TIGERSIGNMESSAGE_H

#include "TigerTci.h"
#include "TzwAuth.h"
#include "TzwHash.h"

/**
 * @brief Begins to sign message.
 * @param Begin request.
 * @param Begin response.
 * @return Status of the operation, e.g. TEE_SUCCESS on success.
 */
TEE_Result initSign(const TciInitSignMessage_t* const initSignMessage,
                 TciInitSignResponse_t* initSignResponse);

/**
 * @brief Finishes to sign message.
 * @param Finish request.
 * @param Finish response.
 * @return Status of the operation, e.g. TEE_SUCCESS on success.
 */
TEE_Result finish(const TciSignFinishRequest_t* const pRequest,  TciFinishSignData_t* signData);

#endif // TIGERSIGNMESSAGE_H
