Пример #1
0
        public RESTStatus Push10(SQLLib sql, object dummy, NetworkConnectionInfo ni)
        {
            if (ni.HasAcl(ACLFlags.ComputerLogin) == false)
            {
                ni.Error   = "Access denied";
                ni.ErrorID = ErrorFlags.AccessDenied;
                return(RESTStatus.Denied);
            }

            PushData data = PushServiceHelper.WaitForPush(ni, 10);

            if (data == null)
            {
                ni.Error   = "Push Service Error";
                ni.ErrorID = ErrorFlags.SystemError;
                return(RESTStatus.ServerError);
            }

            ReturnData      = new PushDataRoot();
            ReturnData.Data = data;

            if (Certificates.Sign(ReturnData, SettingsManager.Settings.UseCertificate) == false)
            {
                ni.Error   = "Push Service Signing Error";
                ni.ErrorID = ErrorFlags.SystemError;
                return(RESTStatus.ServerError);
            }

            return(RESTStatus.Success);
        }
Пример #2
0
        public static bool Verify(PushDataRoot data)
        {
            bool SignedOK = false;

            foreach (FilesystemCertificateData cer in FilesystemData.LoadedCertificates)
            {
                if (Certificates.Verify(data, cer.Certificate) == true)
                {
                    SignedOK = true;
                    break;
                }
            }

            return(SignedOK);
        }