Ejemplo n.º 1
0
        public static MixCastData.SecureData ReadSecureData()
        {
            RegistryKey reg = Registry.CurrentUser.CreateSubKey(MixCastPath.REGISTRY_PATH);

            Assert.IsNotNull(reg);
            MixCastData.SecureData data = ReadSecureSettingsFromRegistry(reg);

            if (data == null)
            {
                data = new MixCastData.SecureData();
            }
            else
            {
                MachineId thisComputerId = new MachineId();
                if (!IsSameComputer(data, thisComputerId))
                {
                    Debug.LogError("machine identifier mismatch detected");
                    if (data != null)
                    {
                        data.licenseType = MixCastData.LicenseType.Free;
                    }
                }
            }

            return(data);
        }
Ejemplo n.º 2
0
        private static bool IsSameComputer(MixCastData.SecureData data, MachineId machineId)
        {
            if (machineId == null || data == null || string.IsNullOrEmpty(data.machineId))
            {
                return(false);
            }

            return(MixCastCryptoUtils.BytesEqual(
                       machineId.ComputeHash(),
                       Convert.FromBase64String(data.machineId)));
        }