summaryrefslogtreecommitdiff
path: root/src/manager/crypto/sw-backend/store.cpp
diff options
context:
space:
mode:
authorBartlomiej Grzelewski <b.grzelewski@samsung.com>2015-05-11 18:05:28 +0200
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>2015-05-15 15:54:19 +0200
commit628af4028faa241f1d60bca19028765c9c4961d5 (patch)
treea6edbc410a7ed728776e1604379a2fae17f6d761 /src/manager/crypto/sw-backend/store.cpp
parentbd34d28ea0a8158c61471b7f0564d7b7abca7324 (diff)
downloadkey-manager-628af4028faa241f1d60bca19028765c9c4961d5.tar.gz
key-manager-628af4028faa241f1d60bca19028765c9c4961d5.tar.bz2
key-manager-628af4028faa241f1d60bca19028765c9c4961d5.zip
Move Token from CKM::Crypto to CKM namespace.
Token is used in database and crypto module. It should not be hidden in CKM::Crypto namespace. Change-Id: I6d000c05deda8f0027ce3afbdeb3bd0a793f0f78
Diffstat (limited to 'src/manager/crypto/sw-backend/store.cpp')
-rw-r--r--src/manager/crypto/sw-backend/store.cpp37
1 files changed, 13 insertions, 24 deletions
diff --git a/src/manager/crypto/sw-backend/store.cpp b/src/manager/crypto/sw-backend/store.cpp
index 38d36c37..2bc374eb 100644
--- a/src/manager/crypto/sw-backend/store.cpp
+++ b/src/manager/crypto/sw-backend/store.cpp
@@ -30,39 +30,28 @@ namespace CKM {
namespace Crypto {
namespace SW {
-Id Store::getBackendId() const { return Id::OpenSSL; }
-
GKeyShPtr Store::getKey(const Token &token) {
- if (token.backendId != getBackendId()) {
+ if (token.backendId != m_backendId) {
LogDebug("Decider choose wrong backend!");
ThrowMsg(Exception::WrongBackend, "Decider choose wrong backend!");
}
- switch (token.keyType) {
- case KeyType::KEY_RSA_PUBLIC:
- case KeyType::KEY_RSA_PRIVATE:
- case KeyType::KEY_DSA_PUBLIC:
- case KeyType::KEY_DSA_PRIVATE:
- case KeyType::KEY_ECDSA_PUBLIC:
- case KeyType::KEY_ECDSA_PRIVATE:
- return std::make_shared<AKey>(token.buffer, token.keyType);
- case KeyType::KEY_AES:
- return std::make_shared<SKey>(token.buffer, token.keyType);
- default:
- LogDebug(
- "This type of key is not supported by openssl backend: " << (int)token.keyType);
- ThrowMsg(Exception::KeyNotSupported,
- "This type of key is not supported by openssl backend: " << (int)token.keyType);
+ if (token.dataType.isKeyPrivate() || token.dataType.isKeyPublic()) {
+ return std::make_shared<AKey>(token.data, token.dataType);
+ }
+
+ if (token.dataType == DataType(DataType::KEY_AES)) {
+ return std::make_shared<SKey>(token.data, token.dataType);
}
+ LogDebug(
+ "This type of data is not supported by openssl backend: " << (int)token.dataType);
+ ThrowMsg(Exception::KeyNotSupported,
+ "This type of data is not supported by openssl backend: " << (int)token.dataType);
}
-Token Store::import(KeyType keyType, const RawBuffer &buffer) {
- Token token;
- token.buffer = buffer;
- token.keyType = keyType;
- token.backendId = getBackendId();
- return token;
+Token Store::import(DataType dataType, const RawBuffer &buffer) {
+ return Token(m_backendId, dataType, buffer);
}
} // namespace SW