diff options
author | Kyungwook Tak <k.tak@samsung.com> | 2016-07-21 16:46:00 +0900 |
---|---|---|
committer | Kyungwook Tak <k.tak@samsung.com> | 2016-07-26 15:51:15 +0900 |
commit | d6da3e3d9bc29e22103b094bee5ca68f5d8f0f61 (patch) | |
tree | 6439a58283180d86c72f4c30413d55be728f6dd4 /srcs/key_manager.h | |
parent | 6818b8559b7d4d45adaeb1937d708a154dc00fd7 (diff) | |
download | libwebappenc-d6da3e3d9bc29e22103b094bee5ca68f5d8f0f61.tar.gz libwebappenc-d6da3e3d9bc29e22103b094bee5ca68f5d8f0f61.tar.bz2 libwebappenc-d6da3e3d9bc29e22103b094bee5ca68f5d8f0f61.zip |
Add data structures
For migrated web app, we need to more fields in cache e.g., IV and
is_migrated flag to handle it separately.
Because cipher algorithm, iv and key size could be different between old
secure storage, it depends on product implementation. So this
architecture needs more flexibility.
A lot of code changed because of the principle data structure is added
from the bottom.
Change-Id: Id6a10b9f707f4da25016dd928ab4049be619a610
Signed-off-by: Kyungwook Tak <k.tak@samsung.com>
Diffstat (limited to 'srcs/key_manager.h')
-rw-r--r-- | srcs/key_manager.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/srcs/key_manager.h b/srcs/key_manager.h new file mode 100644 index 0000000..ec84561 --- /dev/null +++ b/srcs/key_manager.h @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2016 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License + * + * + * @file key_manager.h + * @author Kyungwook Tak + * @version 1.0 + * @brief Serialize/deserialize crypto element and save/get to key-manager + */ +#ifndef __WAE_KEY_MANAGER_H +#define __WAE_KEY_MANAGER_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include <stdbool.h> + +#include "web_app_enc.h" +#include "types.h" + +int save_to_key_manager(const char *pkg_id, wae_app_type_e type, const crypto_element_s *ce); +int get_from_key_manager(const char *pkg_id, wae_app_type_e type, crypto_element_s **pce); +int remove_from_key_manager(const char *pkg_id, wae_app_type_e type); + +bool is_app_deks_loaded_in_key_manager(); +int set_app_deks_loaded_to_key_manager(); +int clear_app_deks_loaded_from_key_manager(); + +#ifdef __cplusplus +} +#endif + +#endif /* __WAE_KEY_MANAGER_H */ |