// ClientCDKey::Load // Loads CD-Key from WON standard location in registry. Entry is registry must be // the enrypted binary form. Calls Init(RawBuffer). bool ClientCDKey::Load() { WTRACE("ClientCDKey::Load"); WDBG_LM("ClientCDKey::Load Loading key from registry."); // Open registry key RegKey aRegKey(REG_CDKEY_PATH, HKEY_LOCAL_MACHINE); if (! aRegKey.IsOpen()) { WDBG_LH("ClientCDKey::Load Fail open registry key: " << REG_CDKEY_PATH); mValidity = Invalid; return false; } // Fetch key from registry for value product unsigned char* aBufP = NULL; unsigned long aLen = 0; if (aRegKey.GetValue(mProduct, aBufP, aLen) != RegKey::Ok) { WDBG_LH("ClientCDKey::Load Fail fetch key value for product=" << mProduct); mValidity = Invalid; return false; } // Build buffer and call Init(RawBuffer) RawBuffer aKey(aBufP, aLen); delete aBufP; return Init(aKey); }
// ClientCDKey::CleanReg // Cleans registry of CD-Key in WON standard location. bool ClientCDKey::CleanReg() { WTRACE("ClientCDKey::CleanReg"); WDBG_LM("ClientCDKey::CleanReg Clean key from registry."); // Open registry key RegKey aRegKey(REG_CDKEY_PATH, HKEY_LOCAL_MACHINE, true); if (! aRegKey.IsOpen()) { WDBG_LH("ClientCDKey::CleanReg Fail open registry key: " << REG_CDKEY_PATH); return false; } // Delete key from registry return aRegKey.DeleteValue(mProduct.c_str()); }
// ClientCDKey::CleanReg // Cleans registry of CD-Key in WON standard location. bool ClientCDKey::CleanReg() { WTRACE("ClientCDKey::CleanReg"); WDBG_LM("ClientCDKey::CleanReg Clean key from registry."); // Open registry key RegKey aRegKey(REG_CDKEY_PATH, mStoreInHKeyCurUser?HKEY_CURRENT_USER:HKEY_LOCAL_MACHINE, true); // WON 3/21/00 if (! aRegKey.IsOpen()) { WDBG_LH("ClientCDKey::CleanReg Fail open registry key: " << REG_CDKEY_PATH); return false; } // Delete key from registry return aRegKey.DeleteValue(mProduct.c_str()); }
// ClientCDKey::Save // Saves CD-Key to WON standard location in registry. Entry is saved to registry as // the enrypted binary form. Calls AsBinary(). bool ClientCDKey::Save() const { WTRACE("ClientCDKey::Save"); WDBG_LM("ClientCDKey::Save Save encrypted key to registry."); // Open registry key RegKey aRegKey(REG_CDKEY_PATH, HKEY_LOCAL_MACHINE, true); if (! aRegKey.IsOpen()) { WDBG_LH("ClientCDKey::Save Fail open registry key: " << REG_CDKEY_PATH); return false; } // Build encrypted binary form if needed and write to registry AsBinary(); return aRegKey.SetValue(mProduct.c_str(), mBinKey.data(), mBinKey.size()); }