Exemplo n.º 1
0
        public static bool UploadFile(string fileName)
        {
            Log.Debug("Subiendo archivo firamdo");

            try
            {
                var file = App.Setup.File;

                WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.DocumentoFirmado);

                using (WebClient client = new WebClient())
                {
                    string url = GetUrl(App.Setup.UrlToUploadFile);

                    url += string.Format("?signID={0}&fileId={1}", App.Setup.SignID, file.ID);

                    client.UploadFile(url, fileName);
                }

                Log.Debug("Archivo firmado subido exitosamente");

                WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.Debug, "Documento actualizado");

                return(true);
            }
            catch (Exception ex)
            {
                string errorMessage = string.Format("Error subiendo archivo firmado. Error: {0}", ex.Message);

                Log.Error(errorMessage);
            }

            return(false);
        }
Exemplo n.º 2
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(_signedFileName))
            {
                MessageBox.Show(this, "Debe firmar el documento antes de poder guardarlo", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            DialogResult result = saveFileDialog.ShowDialog();

            if (result == System.Windows.Forms.DialogResult.OK)
            {
                try
                {
                    File.Copy(_signedFileName, saveFileDialog.FileName, true);

                    Application.Exit();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(this, "No se pudo guardar correctamente el documento firmado.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning);

                    WebHelper.Status(PdfSign.Common.StatusCode.Error, string.Format("Error copiando archivo firmado. Error: {0}", ex.Message));
                }
            }
        }
        private void MensajeError(string mensaje)
        {
            WebHelper.Status(PdfSign.Common.StatusCode.Debug, mensaje);
            WebHelper.Status(PdfSign.Common.StatusCode.Error, "Problemas con la firma");

            Status(mensaje);

            btnCerrar.Visible = true;
            this.Visible      = true;
        }
Exemplo n.º 4
0
        public static Result Firmar(PdfDigitalSign.PdfSign pdfSign, string pdfInput, string pdfOutput)
        {
            var       result    = new Result();
            Exception exception = null;
            string    message   = "";

            Log.Debug("Iniciando proceso de firmado");

            try
            {
                WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.Firmando);

                WebHelper.Status(PdfSign.Common.StatusCode.Debug, string.Format("Firmar.PdfInput: {0}", pdfInput));

                byte[] pdfContent = File.ReadAllBytes(pdfInput);

                WebHelper.Status(PdfSign.Common.StatusCode.Debug, string.Format("Firmar.ReadAllBytes: {0}", pdfContent.Length));

                pdfContent = pdfSign.Sign(pdfContent, true);

                WebHelper.Status(PdfSign.Common.StatusCode.Debug, string.Format("Firmar.Guardano: {0}", pdfOutput));

                File.WriteAllBytes(pdfOutput, pdfContent);

                WebHelper.Status(PdfSign.Common.StatusCode.Debug, "Firmar.Guardano.Fin");

                pdfSign = null;

                result.IsSuccess = true;

                return(result);
            }
            catch (Juschubut.PdfDigitalSign.Exceptions.CertificateNotFoundException ex)
            {
                exception = ex;
                message   = "No se seleccionó ningun certificado válido";
            }
            catch (Exception ex)
            {
                exception = ex;
                message   = "No se pudo firmar el documento";
            }

            result.IsSuccess = false;
            result.Message   = message;

            string errorMessage = string.Format("{0}. Error: {1}", message, exception.Message);

            Log.Error(errorMessage);

            WebHelper.Status(PdfSign.Common.StatusCode.Error, errorMessage);

            return(result);
        }
Exemplo n.º 5
0
        public static bool DownloadPdf(string fileName)
        {
            Log.Debug("Bajando pdf");

            var file = App.Setup.File;

            bool result = DownloadFile(file.Url, fileName);

            if (result)
            {
                WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.ArchivoDescargado, file.Url);

                file.CodigoStatus = Juschubut.PdfSign.Common.StatusCode.ArchivoDescargado.ToString();
                WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.Debug, "File downloaded");
            }

            return(result);
        }
Exemplo n.º 6
0
        private void IniciarFirma()
        {
            Log.Debug("Inicio de firma automatica");

            string tempFile = Path.GetTempFileName();

            if (WebHelper.DownloadPdf(tempFile))
            {
                _fileName = tempFile;

                if (App.Setup.ModoOculto)
                {
                    this.Visible = false;
                }
                else
                {
                    MostrarDocumento(_fileName);
                }

                WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.Debug, "Preparando para firmar");

                if (Firmar())
                {
                    WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.Debug, "Documento firmado");

                    WebHelper.UploadFile(_signedFileName);

                    WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.Completado);

                    if (App.Setup.ModoOculto)
                    {
                        Application.Exit();
                    }
                }
                else
                {
                    WebHelper.Status(PdfSign.Common.StatusCode.Error, "Problemas con la firma");
                }
            }

            this.Visible = true;
        }
Exemplo n.º 7
0
            private void Write(string text, EventLogEntryType type)
            {
                Juschubut.PdfSign.Common.StatusCode code = PdfSign.Common.StatusCode.Debug;

                if (type == EventLogEntryType.Error || type == EventLogEntryType.FailureAudit)
                {
                    code = PdfSign.Common.StatusCode.Error;
                }

                if (!_writingStatus)
                {
                    _writingStatus = true;

                    WebHelper.Status(code, text);

                    _textLog.AppendLine(string.Format("{0} - {1}", code, text));

                    _writingStatus = false;
                }
            }
        private void timer_Tick(object sender, EventArgs e)
        {
            this.Visible = !App.Setup.ModoOculto;

            if (this.Visible)
            {
                this.Focus();
            }

            timer.Enabled = false;

            Status("Iniciando Firma digital...");

            if (App.Setup.Archivos.Count == 0)
            {
                Status("Descargando metadata...");

                WebHelper.Status(PdfSign.Common.StatusCode.Debug, "Descargando metadata");

                var metadata = WebHelper.GetMetadata();

                if (metadata != null)
                {
                    App.Setup.Archivos = metadata.Archivos;
                }
            }

            if (App.Setup.Archivos == null || App.Setup.Archivos.Count == 0)
            {
                MensajeError("No se encontraron archivos para firmar.");
                return;
            }

            string templateStatus = "{1} - {0}...";

            if (App.Setup.Archivos.Count == 0)
            {
                templateStatus = "{0}...";
            }

            if (App.Setup.Archivos.Count == 0)
            {
                WebHelper.Status(PdfSign.Common.StatusCode.Error, "No se encontraron archivos para firmar");
                return;
            }

            foreach (var file in App.Setup.Archivos)
            {
                App.Setup.FileID = file.ID;

                if (string.IsNullOrEmpty(file.Url))
                {
                    continue;
                }

                string inputFile  = Path.GetTempFileName();
                string outputFile = Path.GetTempFileName();

                Status(string.Format(templateStatus, "Descargando", file.Nombre));

                if (WebHelper.DownloadPdf(inputFile))
                {
                    Application.DoEvents();

                    file.CodigoStatus = Juschubut.PdfSign.Common.StatusCode.Firmando.ToString();

                    WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.Debug, "Preparando para firmar");

                    Application.DoEvents();

                    Status(string.Format(templateStatus, "Firmando", file.Nombre));

                    var result = App.Firmar(this.Signer, inputFile, outputFile);

                    Application.DoEvents();

                    if (result.IsSuccess)
                    {
                        WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.Debug, "Documento firmado");

                        Status(string.Format(templateStatus, "Terminando firma", file.Nombre));

                        WebHelper.UploadFile(outputFile);
                    }
                    else
                    {
                        WebHelper.Status(PdfSign.Common.StatusCode.Error, "No se pudo firmar el documento actual");

                        MensajeError(result.Message);
                        return;
                    }
                }
                else
                {
                    WebHelper.Status(PdfSign.Common.StatusCode.Error, "No se pudo descagar el documento para firmar");
                    return;
                }
            }

            WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.Completado);

            Environment.ExitCode = 1;
            Application.Exit();
        }
Exemplo n.º 9
0
        public override void Debug(string texto)
        {
            base.Debug(texto);

            WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.Debug, texto);
        }