bool CKadScript::LoadData(const wstring& Path) { CVariant Data; if(!ReadFile(Path, Data)) return false; try { m_LastUsed = Data["LastUsed"].To<uint64>(); if(!m_LastUsed) m_LastUsed = GetTime(); m_Data->Set(Data["Data"]); if(Data.Has("KEY")) { CVariant SecretKey = Data["KEY"]; if(SecretKey.Decrypt(GetParent<CKademlia>()->Root()->GetID().GetPrivateKey())) { m_SecretKey = new CAbstractKey; if(!m_SecretKey->SetKey(SecretKey.GetData(), SecretKey.GetSize())) m_SecretKey = NULL; } } m_Authentication = Data.Get("AUTH"); } catch(const CException&) { return false; } return true; }