b43b3fa77c0ffa947bfe68a5b23a0912026c18a0
[platform/core/security/key-manager.git] / src / manager / main / key-manager-util.h
1 /*
2  *  Central Key Manager
3  *
4  *  Copyright (c) 2000 - 2014 Samsung Electronics Co., Ltd All Rights Reserved
5  *
6  *  Contact: Bumjin Im <bj.im@samsung.com>
7  *
8  *  Licensed under the Apache License, Version 2.0 (the "License");
9  *  you may not use this file except in compliance with the License.
10  *  You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  *  Unless required by applicable law or agreed to in writing, software
15  *  distributed under the License is distributed on an "AS IS" BASIS,
16  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  *  See the License for the specific language governing permissions and
18  *  limitations under the License
19  *
20  */
21
22 #ifndef CENT_KEY_MNG_UTIL_H
23 #define CENT_KEY_MNG_UTIL_H
24
25 #include <sys/types.h>
26 #include <ckm/ckm-type.h>
27 #include <openssl/x509v3.h>
28
29 #define CKM_SYSTEM_CERTS_PATH "/opt/etc/ssl/certs"
30
31 namespace CKM {
32
33 int util_smack_label_is_valid(const char *smack_label);
34 char *read_exe_path_from_proc(pid_t pid);
35
36 void rawBufferToX509(X509 **ppCert, RawBuffer rawCert);
37 void x509ToRawBuffer(RawBuffer &buf, X509 *cert);
38
39 STACK_OF(X509) *loadSystemCerts( const char * dirpath);
40 X509 *loadCert(const char *file);
41
42 } // namespace CKM
43
44 #endif /*CENT_KEY_MNG_UTIL_H*/