/*
- * Copyright (c) 2000 - 2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2000-2020 Samsung Electronics Co., Ltd. All rights reserved
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
KEY_MANAGER_CAPI
int ckmc_unlock_user_key(uid_t user, const char *password)
{
+ EXCEPTION_GUARD_START_CAPI
+
auto control = CKM::Control::create();
int ret = control->unlockUserKey(user, _toPasswordStr(password));
return to_ckmc_error(ret);
+
+ EXCEPTION_GUARD_END
}
KEY_MANAGER_CAPI
int ckmc_lock_user_key(uid_t user)
{
+ EXCEPTION_GUARD_START_CAPI
+
auto control = CKM::Control::create();
int ret = control->lockUserKey(user);
return to_ckmc_error(ret);
+
+ EXCEPTION_GUARD_END
}
KEY_MANAGER_CAPI
int ckmc_remove_user_data(uid_t user)
{
+ EXCEPTION_GUARD_START_CAPI
+
auto control = CKM::Control::create();
int ret = control->removeUserData(user);
return to_ckmc_error(ret);
+
+ EXCEPTION_GUARD_END
}
KEY_MANAGER_CAPI
int ckmc_change_user_password(uid_t user, const char *oldPassword,
const char *newPassword)
{
+ EXCEPTION_GUARD_START_CAPI
+
auto control = CKM::Control::create();
int ret = control->changeUserPassword(user,
_toPasswordStr(oldPassword),
_toPasswordStr(newPassword));
return to_ckmc_error(ret);
+
+ EXCEPTION_GUARD_END
}
KEY_MANAGER_CAPI
int ckmc_reset_user_password(uid_t user, const char *newPassword)
{
+ EXCEPTION_GUARD_START_CAPI
+
auto control = CKM::Control::create();
int ret = control->resetUserPassword(user, _toPasswordStr(newPassword));
return to_ckmc_error(ret);
+
+ EXCEPTION_GUARD_END
}
KEY_MANAGER_CAPI
int ckmc_allow_access_by_adm(uid_t user, const char *owner, const char *alias,
const char *accessor, ckmc_access_right_e granted)
{
+ EXCEPTION_GUARD_START_CAPI
+
LogWarning("DEPRECATION WARNING: " << __func__ << "() is deprecated and will be "
"removed from next release. Use ckmc_set_permission_by_adm() instead.");
return ckmc_set_permission_by_adm(user,
CKM::AliasSupport::merge(CKM::ClientId(owner), CKM::Name(alias)).c_str(), accessor,
permissionMask);
+
+ EXCEPTION_GUARD_END
}
KEY_MANAGER_CAPI
int ckmc_set_permission_by_adm(uid_t user, const char *alias,
const char *accessor, int permissions)
{
+ EXCEPTION_GUARD_START_CAPI
+
if (!alias || !accessor)
return CKMC_ERROR_INVALID_PARAMETER;
auto control = CKM::Control::create();
return to_ckmc_error(control->setPermission(user, alias, accessor,
permissions));
+
+ EXCEPTION_GUARD_END
}
KEY_MANAGER_CAPI
int ckmc_deny_access_by_adm(uid_t user, const char *owner, const char *alias,
const char *accessor)
{
+ EXCEPTION_GUARD_START_CAPI
+
LogWarning("DEPRECATION WARNING: " << __func__ << "() is deprecated and will be "
"removed from next release. Use ckmc_set_permission_by_adm() instead.");
CKM::AliasSupport::merge(CKM::ClientId(owner), CKM::Name(alias)).c_str(),
accessor,
CKM::Permission::NONE));
+
+ EXCEPTION_GUARD_END
}
/*
- * Copyright (c) 2014 - 2020 Samsung Electronics Co., Ltd. All rights reserved
+ * Copyright (c) 2014-2020 Samsung Electronics Co., Ltd. All rights reserved
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
KEY_MANAGER_CAPI
int ckmc_load_cert_from_file(const char *file_path, ckmc_cert_s **cert)
{
+ EXCEPTION_GUARD_START_CAPI
+
FILE *fp = fopen(file_path, "r");
if (fp == NULL)
X509_free(pcert);
return ret;
+
+ EXCEPTION_GUARD_END
}
KEY_MANAGER_CAPI
ckmc_key_s **private_key, ckmc_cert_s **ckmcert,
ckmc_cert_list_s **ca_cert_list)
{
+ EXCEPTION_GUARD_START_CAPI
+
class Pkcs12Converter {
private:
FILE *fp_in;
*ca_cert_list = converter.retCaCertList;
return CKMC_ERROR_NONE;
+
+ EXCEPTION_GUARD_END
}
KEY_MANAGER_CAPI
ckmc_param_name_e name,
uint64_t value)
{
+ EXCEPTION_GUARD_START_CAPI
+
if (!params)
return CKMC_ERROR_INVALID_PARAMETER;
CKM::CryptoAlgorithm *algo = reinterpret_cast<CKM::CryptoAlgorithm *>(params);
bool ret = algo->setParam(static_cast<CKM::ParamName>(name), value);
return (ret ? CKMC_ERROR_NONE : CKMC_ERROR_INVALID_PARAMETER);
+
+ EXCEPTION_GUARD_END
}
KEY_MANAGER_CAPI
ckmc_param_name_e name,
const ckmc_raw_buffer_s *buffer)
{
+ EXCEPTION_GUARD_START_CAPI
+
if (!params || !buffer || !buffer->data || buffer->size == 0)
return CKMC_ERROR_INVALID_PARAMETER;
CKM::RawBuffer b(buffer->data, buffer->data + buffer->size);
bool ret = algo->setParam(static_cast<CKM::ParamName>(name), b);
return (ret ? CKMC_ERROR_NONE : CKMC_ERROR_INVALID_PARAMETER);
+
+ EXCEPTION_GUARD_END
}
KEY_MANAGER_CAPI
ckmc_param_name_e name,
ckmc_raw_buffer_s **ppbuffer)
{
+ EXCEPTION_GUARD_START_CAPI
+
if (!params || !ppbuffer || *ppbuffer)
return CKMC_ERROR_INVALID_PARAMETER;
return CKMC_ERROR_INVALID_PARAMETER;
return ckmc_buffer_new(value.data(), value.size(), ppbuffer);
+
+ EXCEPTION_GUARD_END
}
KEY_MANAGER_CAPI