2 * Copyright (c) 2000 - 2013 Samsung Electronics Co., Ltd All Rights Reserved
4 * Contact: Bumjin Im <bj.im@samsung.com>
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License
19 * @author Bartlomiej Grzelewski (b.grzelewski@samsung.com)
20 * @author Zofia Abramowska (z.abramowska@samsung.com)
22 * @brief List of all protocols supported by Central Key Manager.
25 #include <protocols.h>
27 #include <dpl/serialization.h>
31 char const * const SERVICE_SOCKET_ECHO = "/tmp/.central-key-manager-echo.sock";
32 char const * const SERVICE_SOCKET_CKM_CONTROL = "/tmp/.central-key-manager-api-control.sock";
33 char const * const SERVICE_SOCKET_CKM_STORAGE = "/tmp/.central-key-manager-api-storage.sock";
34 char const * const SERVICE_SOCKET_OCSP = "/tmp/.central-key-manager-api-ocsp.sock";
35 char const * const LABEL_NAME_SEPARATOR = " ";
37 DBDataType toDBDataType(KeyType key) {
39 case KeyType::KEY_RSA_PUBLIC: return DBDataType::KEY_RSA_PUBLIC;
40 case KeyType::KEY_RSA_PRIVATE: return DBDataType::KEY_RSA_PRIVATE;
41 case KeyType::KEY_DSA_PUBLIC: return DBDataType::KEY_DSA_PUBLIC;
42 case KeyType::KEY_DSA_PRIVATE: return DBDataType::KEY_DSA_PRIVATE;
43 case KeyType::KEY_ECDSA_PUBLIC: return DBDataType::KEY_ECDSA_PUBLIC;
44 case KeyType::KEY_ECDSA_PRIVATE: return DBDataType::KEY_ECDSA_PRIVATE;
45 case KeyType::KEY_AES: return DBDataType::KEY_AES;
52 KeyType toKeyType(DBDataType dbtype) {
54 case DBDataType::KEY_RSA_PUBLIC: return KeyType::KEY_RSA_PUBLIC;
55 case DBDataType::KEY_RSA_PRIVATE: return KeyType::KEY_RSA_PRIVATE;
56 case DBDataType::KEY_DSA_PUBLIC: return KeyType::KEY_DSA_PUBLIC;
57 case DBDataType::KEY_DSA_PRIVATE: return KeyType::KEY_DSA_PRIVATE;
58 case DBDataType::KEY_ECDSA_PRIVATE: return KeyType::KEY_ECDSA_PRIVATE;
59 case DBDataType::KEY_ECDSA_PUBLIC: return KeyType::KEY_ECDSA_PUBLIC;
60 case DBDataType::KEY_AES: return KeyType::KEY_AES;
67 const char* toDBAccessRight(AccessRight access_right_type) {
68 switch(access_right_type) {
69 case AccessRight::AR_READ: return "R";
70 case AccessRight::AR_READ_REMOVE: return "RD";
77 PolicySerializable::PolicySerializable()
81 PolicySerializable::PolicySerializable(const Policy &policy)
85 PolicySerializable::PolicySerializable(IStream &stream) {
86 Deserialization::Deserialize(stream, password);
87 Deserialization::Deserialize(stream, extractable);
90 void PolicySerializable::Serialize(IStream &stream) const {
91 Serialization::Serialize(stream, password);
92 Serialization::Serialize(stream, extractable);