public HandleLicense(LocalVersionRequestModel localVersionRequestModel)
 {
     this.LocalVersionRequestModel   = localVersionRequestModel;
     this.RemoteVersionResponseModel = new RemoteVersionResponseModel();
 }
            public override bool OnResponse(IResponse response)
            {
                var license_version = 4;

                try
                {
                    if (license_version == 1)
                    {
                        var retSplit = response.Value.Split('|');
                        if (retSplit[0] == "1" && retSplit[1] == (LocalVersionRequestModel.test * 5 + LocalVersionRequestModel.test).ToString())
                        {
                            response.EventLog = new EventLog(Event.Success,
                                                             $"Authentication Successful! License version: {license_version}");
                            RemoteVersionResponseModel = new RemoteVersionResponseModel {
                                success = true
                            };
                            return(true);
                        }
                        response.EventLog = new EventLog(Event.Warning,
                                                         $"Authentication Unsuccessful! License version: {license_version}");
                        RemoteVersionResponseModel = new RemoteVersionResponseModel {
                            success = false
                        };
                        return(false);
                    }

                    if (license_version == 2 || license_version == 3)
                    {
                        RemoteVersionResponseModel = JsonConvert.DeserializeObject <RemoteVersionResponseModel>(response.Value);

                        if (RemoteVersionResponseModel.success &&
                            RemoteVersionResponseModel.test_result == LocalVersionRequestModel.test * 5 + LocalVersionRequestModel.test)
                        {
                            response.EventLog = new EventLog(Event.Success,
                                                             $"Authentication Successful!  License version: {license_version}");
                            return(true);
                        }
                        response.EventLog = new EventLog(Event.Warning,
                                                         $"Authentication Unsuccessful! success: {RemoteVersionResponseModel.success} math stuff: {RemoteVersionResponseModel.test_result} == {LocalVersionRequestModel.test * 5 + LocalVersionRequestModel.test} Test Number: {LocalVersionRequestModel.test} License version: {license_version}");
                        return(false);
                    }

                    if (license_version == 4)
                    {
                        Int32  unixTimestamp        = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
                        string nearest10ThOfASecond = unixTimestamp - (unixTimestamp % 30) + "4159871549876553177127";

                        var temp = DecryptRJ256(Convert.FromBase64String(response.Value), "pzrwrm8814f953+22#bbtz3qq=372j5z", nearest10ThOfASecond);

                        RemoteVersionResponseModel = JsonConvert.DeserializeObject <RemoteVersionResponseModel>(temp);

                        if (RemoteVersionResponseModel.success &&
                            RemoteVersionResponseModel.test_result == LocalVersionRequestModel.test * 5 + LocalVersionRequestModel.test)
                        {
                            response.EventLog = new EventLog(Event.Success,
                                                             $"Authentication Successful!  License version: {license_version}");
                            return(true);
                        }
                        response.EventLog = new EventLog(Event.Warning,
                                                         $"Authentication Unsuccessful! success: {RemoteVersionResponseModel.success} math stuff: {RemoteVersionResponseModel.test_result} == {LocalVersionRequestModel.test * 5 + LocalVersionRequestModel.test} Test Number: {LocalVersionRequestModel.test} License version: {license_version}");
                        return(false);
                    }
                }
                catch (Exception ex)
                {
                    response.EventLog = new EventLog(Event.Exception, $"Authentication Unsuccessful! License version: {license_version}", ex);
                    return(false);
                }

                return(false);
            }
Esempio n. 3
0
 public HandleUpdate(RemoteVersionResponseModel remoteVersionResponseModel)
 {
     RemoteVersionResponseModel = remoteVersionResponseModel;
 }