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-key.cpp
17 * @author Bartlomiej Grzelewski (b.grzelewski@samsung.com)
19 * @brief Key - api implementation.
21 #include <ckm/ckm-type.h>
22 #include <ckm/key-manager.h>
24 #include <dpl/log/log.h>
35 const RawBuffer &rawData,
37 const std::string &password)
40 case KeyType::KEY_RSA_PRIVATE:
41 m_impl.reset(new KeyRSAPrivate(rawData, password));
43 case KeyType::KEY_RSA_PUBLIC:
44 m_impl.reset(new KeyRSAPublic(rawData, password));
47 LogError("Key Type not implemented");
51 Key::Key(const Key &second) {
52 m_impl = second.m_impl;
55 Key& Key::operator=(const Key &second) {
56 m_impl = second.m_impl;
62 bool Key::empty() const {
64 return m_impl->empty();
68 KeyType Key::getType() const {
70 return m_impl->getType();
71 return KeyType::KEY_NONE;
74 RawBuffer Key::getDER() const {
76 return m_impl->getDER();
80 GenericKey* Key::getImpl() const {