Merge change 6177 into donut
* changes: Two small checks in keymgmt.
This commit is contained in:
@@ -185,6 +185,7 @@ static int change_passwd(char *data)
|
||||
p = strtok_r(NULL, delimiter, &context);
|
||||
}
|
||||
if (count != 2) return -1;
|
||||
if (strlen(new_pass) < MIN_PASSWD_LENGTH) return -1;
|
||||
if ((ret = get_master_key(old_pass, master_key)) == 0) {
|
||||
ret = store_master_key(new_pass, master_key);
|
||||
retry_count = 0;
|
||||
@@ -259,6 +260,11 @@ int list_keys(const char *namespace, char reply[BUFFER_MAX])
|
||||
DIR *d;
|
||||
struct dirent *de;
|
||||
|
||||
if (state != UNLOCKED) {
|
||||
LOGE("Can not list key with current state %d\n", state);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!namespace || ((d = opendir("."))) == NULL) {
|
||||
LOGE("cannot open keystore dir or namespace is null\n");
|
||||
return -1;
|
||||
@@ -287,6 +293,7 @@ int passwd(char *data)
|
||||
{
|
||||
if (state == UNINITIALIZED) {
|
||||
if (strchr(data, ' ')) return -1;
|
||||
if (strlen(data) < MIN_PASSWD_LENGTH) return -1;
|
||||
return create_master_key(data);
|
||||
}
|
||||
return change_passwd(data);
|
||||
|
||||
@@ -27,7 +27,8 @@
|
||||
#define AES_KEY_LEN 128
|
||||
#define USER_KEY_LEN (AES_KEY_LEN/8)
|
||||
#define IV_LEN USER_KEY_LEN
|
||||
#define MAX_RETRY_COUNT 6
|
||||
#define MAX_RETRY_COUNT 6
|
||||
#define MIN_PASSWD_LENGTH 8
|
||||
|
||||
#define gen_key(passwd, key, len) \
|
||||
PKCS5_PBKDF2_HMAC_SHA1(passwd, strlen(passwd), \
|
||||
|
||||
@@ -224,6 +224,7 @@ static void do_reset_keystore(LPC_MARSHAL *cmd, LPC_MARSHAL *reply)
|
||||
}
|
||||
reply->retcode = reset_keystore();
|
||||
}
|
||||
|
||||
static void execute(LPC_MARSHAL *cmd, LPC_MARSHAL *reply)
|
||||
{
|
||||
uint32_t cmd_max = sizeof(cmds)/sizeof(struct cmdinfo);
|
||||
|
||||
Reference in New Issue
Block a user