void Key::unSerialize(boost::property_tree::ptree& node) { LOG(LogLevel::INFOS) << "Unserializing Key..."; if (node.get_child_optional("KeyDiversification")) { boost::property_tree::ptree keydivnode = node.get_child("KeyDiversification"); d_key_diversification = KeyDiversification::getKeyDiversificationFromType(keydivnode.get_child("<xmlattr>.keyDiversificationType").get_value<std::string>()); boost::property_tree::ptree kdnode = keydivnode.get_child(d_key_diversification->getDefaultXmlNodeName()); if (!kdnode.empty()) { d_key_diversification->unSerialize(kdnode); } } d_storeCipheredData = node.get_child("IsCiphered").get_value<bool>(false); uncipherKeyData(node); LOG(LogLevel::INFOS) << "Unserializing Key storage..."; d_key_storage = KeyStorage::getKeyStorageFromType(static_cast<KeyStorageType>(node.get_child("<xmlattr>.keyStorageType").get_value<unsigned int>())); if (d_key_storage) { boost::property_tree::ptree ksnode = node.get_child(d_key_storage->getDefaultXmlNodeName()); if (!ksnode.empty()) { d_key_storage->unSerialize(ksnode); } } }
void Key::unSerialize(boost::property_tree::ptree& node) { INFO_SIMPLE_("Unserializing Key..."); d_key_storage = KeyStorage::getKeyStorageFromType(static_cast<KeyStorageType>(node.get_child("<xmlattr>.keyStorageType").get_value<unsigned int>())); d_storeCipheredData = node.get_child("IsCiphered").get_value<bool>(false); uncipherKeyData(node); INFO_SIMPLE_("Unserializing Key storage..."); d_key_storage->unSerialize(node); }
void Key::unSerialize(boost::property_tree::ptree& node) { LOG(LogLevel::INFOS) << "Unserializing Key..."; if (node.get_child_optional("KeyDiversification")) { boost::property_tree::ptree keydivnode = node.get_child("KeyDiversification"); d_key_diversification = KeyDiversification::getKeyDiversificationFromType(keydivnode.get_child("<xmlattr>.keyDiversificationType").get_value<std::string>()); boost::property_tree::ptree kdnode = keydivnode.get_child(d_key_diversification->getDefaultXmlNodeName()); if (!kdnode.empty()) { d_key_diversification->unSerialize(kdnode); std::shared_ptr<ComputerMemoryKeyStorage> cmks = std::dynamic_pointer_cast<ComputerMemoryKeyStorage>(d_key_diversification); if (cmks) { if (cmks->getRandom()) { fromString(AccessInfo::generateSimpleKey(getLength())); } } } } d_storeCipheredData = node.get_child("IsCiphered").get_value<bool>(false); uncipherKeyData(node); LOG(LogLevel::INFOS) << "Unserializing Key storage..."; d_key_storage = KeyStorage::getKeyStorageFromType(static_cast<KeyStorageType>(node.get_child("<xmlattr>.keyStorageType").get_value<unsigned int>())); if (d_key_storage) { boost::property_tree::ptree ksnode = node.get_child(d_key_storage->getDefaultXmlNodeName()); if (!ksnode.empty()) { d_key_storage->unSerialize(ksnode); } } }