Fix coverity issue
[platform/core/security/ode.git] / rmi / key.h
1 /*
2  *  Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *  Licensed under the Apache License, Version 2.0 (the "License");
5  *  you may not use this file except in compliance with the License.
6  *  You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *  Unless required by applicable law or agreed to in writing, software
11  *  distributed under the License is distributed on an "AS IS" BASIS,
12  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *  See the License for the specific language governing permissions and
14  *  limitations under the License
15  */
16
17 #ifndef __ODE_KEY_H__
18 #define __ODE_KEY_H__
19
20 #include <string>
21
22 #include "common.h"
23
24 namespace ode {
25
26 /**
27  * This class provides APIs to manage device keys and passwords.
28  */
29
30 class Key {
31 public:
32         enum InitMethod {
33             DEFAULT_256BIT = 1,
34             DEFAULT_512BIT = 2,
35         };
36
37         virtual ~Key() {}
38
39         virtual int isInitialized(const std::string& dev) = 0;
40         virtual int init(const std::string& dev,
41                                          const std::string& password,
42                                          int params) = 0;
43         virtual int remove(const std::string& dev, const std::string& password) = 0;
44         virtual int changePassword(const std::string& dev,
45                                                            const std::string& curPW,
46                                                            const std::string& newPW) = 0;
47         virtual int verifyPassword(const std::string& dev,
48                                                            const std::string& password) = 0;
49         virtual int storeMasterKey(const std::string& dev,
50                                                            const std::string& password) = 0;
51         virtual int removeMasterKey(const std::string& dev) = 0;
52 };
53
54 } // namespace ode
55
56 #endif // __ODE_KEY_H__