diff options
author | Bartlomiej Grzelewski <b.grzelewski@samsung.com> | 2015-05-11 18:05:28 +0200 |
---|---|---|
committer | Krzysztof Jackiewicz <k.jackiewicz@samsung.com> | 2015-05-15 15:54:19 +0200 |
commit | 628af4028faa241f1d60bca19028765c9c4961d5 (patch) | |
tree | a6edbc410a7ed728776e1604379a2fae17f6d761 /src/manager/crypto/sw-backend/store.cpp | |
parent | bd34d28ea0a8158c61471b7f0564d7b7abca7324 (diff) | |
download | key-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.cpp | 37 |
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 |