int sekey_user_change_name(std::string &userID, std::string &newname)
Change the name of a user. Available only for the administrator.
int sekey_start(L0 &l0, L1 *l1ptr)
API to start the SEkey KMS.
Definition: SEkey.cpp:282
int sekey_add_group(std::string &groupID, std::string &group_name, group_policy policy)
API to add a group to SEkey. Available only for the administrator.
int sekey_activate_key(std::string &key_id)
Activate a key. Available only for the administrator.
int sekey_add_key(std::string &key_id, std::string &key_name, std::string &key_owner, uint32_t cryptoperiod, se_key_type keytype)
Add a key to SEkey. Available only for the administrator.
The policy class is used to model a security policy adopted by a group. A policy for a group has 3 fe...
Definition: SEkey.h:178
int sekey_stop()
API to stop the SEkey KMS.
Definition: SEkey.cpp:441
#define SEFILE_BEGIN
Definition: SEfile_C_interface.h:92
int sekey_delete_user_group(std::string &user_id, std::string &group_id)
Delete a user from a group. All keys of that group will be deleted from the SEcube of the user....
int sekey_add_user(std::string &user_id, std::string &username)
Add a new user to SEkey. Available only for the administrator.
Simlpe struct used to store the details about the SEkey user which is using the application....
Definition: SEkey.h:141
void print_user_details(std::ofstream &sekey_log)
Definition: SEkey.cpp:145
int sekey_group_change_default_cryptoperiod(std::string &groupID, uint32_t cryptoperiod)
Change the default cryptoperiod of a specific group. Available only for the administrator.
int sekey_user_get_info_all(std::vector< se_user > *users)
Retrieve the details about all users of SEkey.
#define SEFILE_OPEN
Definition: SEfile_C_interface.h:72
int sekey_group_change_max_keys(std::string &groupID, uint32_t maxkeys)
Change the maximum number of keys that a group can be associated to. Available only for the administr...
uint16_t secure_open(char *path, int32_t mode, int32_t creation)
This function opens or creates a secure file managed with SEfile.
Definition: SEfile.cpp:240
The key class is used to model a key object. A key has several properties which are kept private (id,...
Definition: SEkey.h:202
int sekey_key_get_info(std::string &key_id, se_key *key)
Retrieve the details about a single key.
int sekey_find_key_v3(std::string &chosen_key, std::string &source_user_id, std::vector< std::string > &dest_user_id, se_key_type keytype)
Find a suitable key to encrypt data given a sender and multiple recipients.
The user class is used to model a user object. User's attributes are private but methods are availabl...
Definition: SEkey.h:149
int sekey_recovery_request(std::string &user_id, std::string &serial_number)
Explicitly request to SEkey to execute the recovery procedure for a specific user,...
int sekey_init_user_SEcube(std::string &uid, std::string &userpin, std::string &adminpin, std::vector< std::string > &pin)
API to initialize the SEcube device of a SEkey user. Admin only.
int sekey_key_get_info_all(std::vector< se_key > *keys)
Retrieve the details about all keys of SEkey.
int sekey_add_user_group(std::string &userID, std::string &groupID)
Add an existing user to an existing group. Available only for the administrator.
int sekey_admin_init(L1 &l1, std::vector< std::string > &pin, std::string &userpin, std::string &adminpin)
Initialize the SEcube of the administrator of SEkey.
int sekey_user_get_info(std::string &userid, se_user *user)
Retrieve the details about a single user.
int sekey_group_get_info_all(std::vector< se_group > *groups)
Retrieve the details about all groups of SEkey (keys and users excluded).
int sekey_delete_user(std::string &userID)
Delete a user from SEkey; the user will not be able to use the key management system anymore....
int sekey_delete_group(std::string &groupID)
API to delete a group from SEkey. Available only for the administrator.
int sekey_key_change_status(std::string &key_id, se_key_status status)
Change the status of a key. Available only for the administrator.
std::vector< std::unique_ptr< SEfile > > databases
Definition: SEcureDB.cpp:5
#define SEFILE_READ
Definition: SEfile_C_interface.h:51
#define SEFILE_NEWFILE
Definition: SEfile_C_interface.h:71
int sekey_update_userdata()
Synchronize the data of SEkey stored on the SEcube of the user with the data stored on the SEcube of ...
Definition: SEkey.cpp:549
#define SEFILE_WRITE
Definition: SEfile_C_interface.h:52
int sekey_group_get_info(std::string &groupID, se_group *group)
Retrieve the details about a single group (keys and users excluded).
int sekey_find_key_v2(std::string &chosen_key, std::string &source_user_id, std::string &group_id, se_key_type keytype)
Find a suitable key to encrypt data to be delivered from a single user to an entire group.
Implement the concept of group inside SEkey. Class members are kept private and suitable getter/sette...
Definition: SEkey.h:234
uint16_t secure_getfilesize(char *path, uint32_t *position, L1 *SEcubeptr)
This function is used to get the total logic size of an encrypted file pointed by path....
Definition: SEfile.cpp:1452
A SEfile object is used to manage a file encrypted with SEfile.
Definition: SEfile.h:117
int sekey_key_change_name(std::string &key_id, std::string &key_name)
Change the name of a key. Available only for the administrator.
int sekey_group_change_name(std::string &groupID, std::string &newname)
Change the name of a group. Available only for the administrator.
sekey_error
Error codes returned by functions of SEkey.
Definition: SEkey.h:30
#define SEFILE_END
Definition: SEfile_C_interface.h:94
int sekey_find_key_v1(std::string &chosen_key, std::string &source_user_id, std::string &dest_user_id, se_key_type keytype)
Find a suitable key to encrypt data given a couple of users source-destination.
struct userinfo_ userinfo
Simlpe struct used to store the details about the SEkey user which is using the application....