f8c998f6ff
- primo commit.
35 lines
1.2 KiB
C++
35 lines
1.2 KiB
C++
|
|
#include "Common/NMR_SecureContext.h"
|
|
#include "Common/NMR_Exception.h"
|
|
namespace NMR {
|
|
bool CSecureContext::hasDekCtx() const {
|
|
return m_bHasDek;
|
|
}
|
|
ContentEncryptionDescriptor CSecureContext::getDekCtx() const {
|
|
return m_sDekDescriptor;
|
|
}
|
|
void CSecureContext::setDekCtx(ContentEncryptionDescriptor const & descriptor) {
|
|
m_sDekDescriptor = descriptor;
|
|
m_bHasDek = true;
|
|
}
|
|
ClientConsumerMap::const_iterator CSecureContext::kekCtxBegin() const {
|
|
return m_ConsumerMap.cbegin();
|
|
}
|
|
ClientConsumerMap::const_iterator CSecureContext::kekCtxEnd() const {
|
|
return m_ConsumerMap.cend();
|
|
}
|
|
void CSecureContext::addKekCtx(std::string const & consumerId, KeyWrappingDescriptor const & descriptor) {
|
|
if (m_ConsumerMap.find(consumerId) != m_ConsumerMap.end())
|
|
throw CNMRException(NMR_ERROR_KEYSTOREDUPLICATECONSUMERID);
|
|
m_ConsumerMap[consumerId] = descriptor;
|
|
}
|
|
KeyWrappingDescriptor CSecureContext::getKekCtx(std::string const & consumerId) const {
|
|
auto it = m_ConsumerMap.find(consumerId);
|
|
if (it != m_ConsumerMap.end())
|
|
return (*it).second;
|
|
throw CNMRException(NMR_ERROR_KEKDESCRIPTORNOTFOUND);
|
|
}
|
|
bool CSecureContext::emptyKekCtx() const {
|
|
return m_ConsumerMap.empty();
|
|
}
|
|
} |