};
struct Policy {
- Policy(const RawBuffer &pass = RawBuffer(), bool extract = true, bool rest = false)
+ Policy(const std::string &pass = std::string(), bool extract = true, bool rest = false)
: password(pass)
, extractable(extract)
, restricted(rest)
{}
virtual ~Policy(){}
- RawBuffer password; // byte array used to encrypt data inside CKM
+ std::string password; // byte array used to encrypt data inside CKM
bool extractable; // if true key may be extracted from storage
bool restricted; // if true only key owner may see data
};
public:
Control();
// decrypt user key with password
- int unlockUserKey(const std::string &user, const RawBuffer &password) const;
+ int unlockUserKey(const std::string &user, const std::string &password) const;
// remove user key from memory
int lockUserKey(const std::string &user) const;
int removeUserData(const std::string &user) const;
// change password for user
- int changeUserPassword(const std::string &user, const RawBuffer &oldPassword, const RawBuffer &newPassword) const;
+ int changeUserPassword(const std::string &user, const std::string &oldPassword, const std::string &newPassword) const;
// This is work around for security-server api - resetPassword that may be called without passing oldPassword.
// This api should not be supported on tizen 3.0
// User must be already logged in and his DKEK is already loaded into memory in plain text form.
// The service will use DKEK in plain text and encrypt it in encrypted form (using new password).
- int resetUserPassword(const std::string &user, const RawBuffer &newPassword) const;
+ int resetUserPassword(const std::string &user, const std::string &newPassword) const;
virtual ~Control();
private:
};
Key();
- Key(const RawBuffer &rawData, KeyType type, const RawBuffer &password = RawBuffer()); // Import key
+ Key(const RawBuffer &rawData, KeyType type, const std::string &password = std::string()); // Import key
Key(const Key &key);
Key& operator=(const Key &key);
virtual ~Key();
int removeKey(const Alias &alias);
int removeCertificate(const Alias &alias);
- int getKey(const Alias &alias, const RawBuffer &password, Key &key);
+ int getKey(const Alias &alias, const std::string &password, Key &key);
int getCertificate(
const Alias &alias,
- const RawBuffer &password,
+ const std::string &password,
Certificate &certificate);
// This will extract list of all Keys and Certificates in Key Store
// Added By Dongsun Lee
int saveData(const Alias &alias, const RawBuffer &data, const Policy &policy);
int removeData(const Alias &alias);
- int getData(const Alias &alias, const RawBuffer &password, RawBuffer &data);
+ int getData(const Alias &alias, const std::string &password, RawBuffer &data);
// int requestDataAliasVector(AliasVector &alias);
//
// int createKeyPairRSA(
ControlImpl& operator=(const ControlImpl &) = delete;
ControlImpl& operator=(ControlImpl &&) = delete;
- static int unlockUserKey(const std::string &user, const RawBuffer &password) {
+ static int unlockUserKey(const std::string &user, const std::string &password) {
return try_catch([&] {
if (user.empty())
return KEY_MANAGER_API_ERROR_INPUT_PARAM;
});
}
- static int changeUserPassword(const std::string &user, const RawBuffer &oldPassword, const RawBuffer &newPassword) {
+ static int changeUserPassword(const std::string &user, const std::string &oldPassword, const std::string &newPassword) {
return try_catch([&] {
if (user.empty())
return KEY_MANAGER_API_ERROR_INPUT_PARAM;
});
}
- static int resetUserPassword(const std::string &user, const RawBuffer &newPassword) {
+ static int resetUserPassword(const std::string &user, const std::string &newPassword) {
return try_catch([&] {
if (user.empty())
return KEY_MANAGER_API_ERROR_INPUT_PARAM;
Control::~Control(){}
-int Control::unlockUserKey(const std::string &user, const RawBuffer &password) const {
+int Control::unlockUserKey(const std::string &user, const std::string &password) const {
return m_impl->unlockUserKey(user, password);
}
return m_impl->removeUserData(user);
}
-int Control::changeUserPassword(const std::string &user, const RawBuffer &oldPassword, const RawBuffer &newPassword) const {
+int Control::changeUserPassword(const std::string &user, const std::string &oldPassword, const std::string &newPassword) const {
return m_impl->changeUserPassword(user, oldPassword, newPassword);
}
-int Control::resetUserPassword(const std::string &user, const RawBuffer &newPassword) const {
+int Control::resetUserPassword(const std::string &user, const std::string &newPassword) const {
return m_impl->resetUserPassword(user, newPassword);
}
return *this;
}
-//KeyImpl::KeyImpl(IStream &stream) {
-// int type;
-// Deserialization::Deserialize(stream, type);
-// Deserialization::Deserialize(stream, m_key);
-// m_type = static_cast<KeyType>(type);
-//}
-
-KeyImpl::KeyImpl(const RawBuffer &data, KeyType type, const RawBuffer &password)
+KeyImpl::KeyImpl(const RawBuffer &data, KeyType type, const std::string &password)
: m_type(KeyType::KEY_NONE)
{
int size = 0;
RSA *rsa = NULL;
char *pass = NULL;
- RawBuffer passtmp(password);
+ std::string passtmp(password);
if (!passtmp.empty()) {
- passtmp.push_back(0);
- pass = reinterpret_cast<char*>(passtmp.data());
+ pass = const_cast<char *>(passtmp.c_str());
}
if (data[0] == PEM_FIRST_CHAR && type == KeyType::KEY_RSA_PUBLIC) {
namespace CKM {
class KeyImpl
-// : public ISerializable
{
public:
KeyImpl();
-// KeyImpl(IStream &stream);
- KeyImpl(const RawBuffer &data, KeyType type, const RawBuffer &password);
+ KeyImpl(const RawBuffer &data, KeyType type, const std::string &password);
KeyImpl(const KeyImpl &);
KeyImpl(KeyImpl &&);
KeyImpl& operator=(const KeyImpl &);
return (m_type == KeyType::KEY_NONE) || m_key.empty();
}
-// void Serialize(IStream &stream) const;
-
virtual ~KeyImpl();
private:
KeyType m_type;
Key::Key(
const RawBuffer &rawData,
KeyType type,
- const RawBuffer &password)
+ const std::string &password)
: m_impl(new KeyImpl(rawData, type, password))
{}
int Manager::ManagerImpl::getBinaryData(
const Alias &alias,
DBDataType sendDataType,
- const RawBuffer &password,
+ const std::string &password,
DBDataType &recvDataType,
RawBuffer &rawData)
{
});
}
-int Manager::ManagerImpl::getKey(const Alias &alias, const RawBuffer &password, Key &key) {
+int Manager::ManagerImpl::getKey(const Alias &alias, const std::string &password, Key &key) {
DBDataType recvDataType;
RawBuffer rawData;
return KEY_MANAGER_API_SUCCESS;
}
-int Manager::ManagerImpl::getCertificate(const Alias &alias, const RawBuffer &password, Certificate &cert)
+int Manager::ManagerImpl::getCertificate(const Alias &alias, const std::string &password, Certificate &cert)
{
DBDataType recvDataType;
RawBuffer rawData;
return KEY_MANAGER_API_SUCCESS;
}
-int Manager::ManagerImpl::getData(const Alias &alias, const RawBuffer &password, RawBuffer &rawData)
+int Manager::ManagerImpl::getData(const Alias &alias, const std::string &password, RawBuffer &rawData)
{
DBDataType recvDataType;
int saveKey(const Alias &alias, const Key &key, const Policy &policy);
int removeKey(const Alias &alias);
- int getKey(const Alias &alias, const RawBuffer &password, Key &key);
+ int getKey(const Alias &alias, const std::string &password, Key &key);
int saveCertificate(const Alias &alias, const Certificate &cert, const Policy &policy);
int removeCertificate(const Alias &alias);
- int getCertificate(const Alias &alias, const RawBuffer &password, Certificate &cert);
+ int getCertificate(const Alias &alias, const std::string &password, Certificate &cert);
int saveData(const Alias &alias, const RawBuffer &rawData, const Policy &policy);
int removeData(const Alias &alias);
- int getData(const Alias &alias, const RawBuffer &password, RawBuffer &cert);
+ int getData(const Alias &alias, const std::string &password, RawBuffer &cert);
protected:
int saveBinaryData(
int getBinaryData(
const Alias &alias,
DBDataType sendDataType,
- const RawBuffer &password,
+ const std::string &password,
DBDataType &recvDataType,
RawBuffer &rawData);
return m_impl->removeKey(alias);
}
-int Manager::getKey(const Alias &alias, const RawBuffer &password, Key &key) {
+int Manager::getKey(const Alias &alias, const std::string &password, Key &key) {
return m_impl->getKey(alias, password, key);
}
return m_impl->removeCertificate(alias);
}
-int Manager::getCertificate(const Alias &alias, const RawBuffer &password, Certificate &cert) {
+int Manager::getCertificate(const Alias &alias, const std::string &password, Certificate &cert) {
return m_impl->getCertificate(alias, password, cert);
}
return m_impl->removeData(alias);
}
-int Manager::getData(const Alias &alias, const RawBuffer &password, RawBuffer &data) {
+int Manager::getData(const Alias &alias, const std::string &password, RawBuffer &data) {
return m_impl->getData(alias, password, data);
}
CKMLogic::CKMLogic(){}
CKMLogic::~CKMLogic(){}
-RawBuffer CKMLogic::unlockUserKey(const std::string &user, const RawBuffer &password) {
+RawBuffer CKMLogic::unlockUserKey(const std::string &user, const std::string &password) {
(void)user;
(void)password;
RawBuffer CKMLogic::changeUserPassword(
const std::string &user,
- const RawBuffer &oldPassword,
- const RawBuffer &newPassword)
+ const std::string &oldPassword,
+ const std::string &newPassword)
{
(void)user;
(void)oldPassword;
RawBuffer CKMLogic::resetUserPassword(
const std::string &user,
- const RawBuffer &newPassword)
+ const std::string &newPassword)
{
(void)user;
(void)newPassword;
int commandId,
DBDataType dataType,
const Alias &alias,
- const RawBuffer &password)
+ const std::string &password)
{
(void)cred;
(void)alias;
CKMLogic& operator=(CKMLogic &&) = delete;
virtual ~CKMLogic();
- RawBuffer unlockUserKey(const std::string &user, const RawBuffer &password);
+ RawBuffer unlockUserKey(const std::string &user, const std::string &password);
RawBuffer lockUserKey(const std::string &user);
RawBuffer changeUserPassword(
const std::string &user,
- const RawBuffer &oldPassword,
- const RawBuffer &newPassword);
+ const std::string &oldPassword,
+ const std::string &newPassword);
RawBuffer resetUserPassword(
const std::string &user,
- const RawBuffer &newPassword);
+ const std::string &newPassword);
RawBuffer saveData(
Credentials &cred,
int commandId,
DBDataType dataType,
const Alias &alias,
- const RawBuffer &password);
+ const std::string &password);
private:
int command;
std::string user;
ControlCommand cc;
- RawBuffer newPass, oldPass;
+ std::string newPass, oldPass;
Deserialization::Deserialize(buffer, command);
Deserialization::Deserialize(buffer, user);
}
case LogicCommand::GET:
{
- RawBuffer password;
+ std::string password;
Deserialization::Deserialize(buffer, tmpDataType);
Deserialization::Deserialize(buffer, alias);
Deserialization::Deserialize(buffer, password);