1 /* Copyright (c) 2000 - 2013 Samsung Electronics Co., Ltd All Rights Reserved
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License
16 * @file client-manager.cpp
17 * @author Bartlomiej Grzelewski (b.grzelewski@samsung.com)
19 * @brief Client Manager implementation.
21 #include <ckm/key-manager.h>
23 #include <client-manager-impl.h>
28 : m_impl(new ManagerImpl)
33 int Manager::saveKey(const Alias &alias, const Key &key, const Policy &policy) {
34 return m_impl->saveKey(alias, key, policy);
37 int Manager::removeKey(const Alias &alias) {
38 return m_impl->removeKey(alias);
41 int Manager::getKey(const Alias &alias, const std::string &password, Key &key) {
42 return m_impl->getKey(alias, password, key);
45 int Manager::saveCertificate(const Alias &alias, const Certificate &cert, const Policy &policy) {
46 return m_impl->saveCertificate(alias, cert, policy);
49 int Manager::removeCertificate(const Alias &alias) {
50 return m_impl->removeCertificate(alias);
53 int Manager::getCertificate(const Alias &alias, const std::string &password, Certificate &cert) {
54 return m_impl->getCertificate(alias, password, cert);
57 int Manager::saveData(const Alias &alias, const RawBuffer &data, const Policy &policy) {
58 return m_impl->saveData(alias, data, policy);
61 int Manager::removeData(const Alias &alias) {
62 return m_impl->removeData(alias);
65 int Manager::getData(const Alias &alias, const std::string &password, RawBuffer &data) {
66 return m_impl->getData(alias, password, data);
69 int Manager::requestKeyAliasVector(AliasVector &av) {
70 return m_impl->requestKeyAliasVector(av);
73 int Manager::requestCertificateAliasVector(AliasVector &av) {
74 return m_impl->requestCertificateAliasVector(av);
77 int Manager::requestDataAliasVector(AliasVector &av) {
78 return m_impl->requestDataAliasVector(av);
81 int Manager::createKeyPairRSA(
82 const int size, // size in bits [1024, 2048, 4096]
83 const Alias &privateKeyAlias,
84 const Alias &publicKeyAlias,
85 const Policy &policyPrivateKey,
86 const Policy &policyPublicKey)
88 return m_impl->createKeyPairRSA(size, privateKeyAlias, publicKeyAlias, policyPrivateKey, policyPublicKey);
91 int Manager::createKeyPairECDSA(
93 const Alias &privateKeyAlias,
94 const Alias &publicKeyAlias,
95 const Policy &policyPrivateKey,
96 const Policy &policyPublicKey)
98 return m_impl->createKeyPairECDSA(type, privateKeyAlias, publicKeyAlias, policyPrivateKey, policyPublicKey);