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); }
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); }