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); }
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; }
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); }
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); }
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; }
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(); }
public override void Debug(string texto) { base.Debug(texto); WebHelper.Status(Juschubut.PdfSign.Common.StatusCode.Debug, texto); }