summaryrefslogtreecommitdiff
path: root/srcs/key_manager.h
diff options
context:
space:
mode:
authorKyungwook Tak <k.tak@samsung.com>2016-07-21 16:46:00 +0900
committerKyungwook Tak <k.tak@samsung.com>2016-07-26 15:51:15 +0900
commitd6da3e3d9bc29e22103b094bee5ca68f5d8f0f61 (patch)
tree6439a58283180d86c72f4c30413d55be728f6dd4 /srcs/key_manager.h
parent6818b8559b7d4d45adaeb1937d708a154dc00fd7 (diff)
downloadlibwebappenc-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.h46
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 */