public void Firmar_FirmaCorrectaDelDocumento() { var recursos = Herramientas.GetResourcesPath(); var pathCertificado = Path.Combine(recursos, "certificado.pfx"); var pathDocumentoSinFirma = Path.Combine(recursos, "documento.pdf"); var pathDocumentoConFirma = Path.Combine(recursos, "documento-con-firma-test.pdf"); var certificado = new Certificado(pathCertificado); var firmante = new Firmante(certificado); firmante.Firmar(pathDocumentoSinFirma, pathDocumentoConFirma); Assert.IsTrue(File.Exists(pathDocumentoConFirma)); }
public static eAjax fnFirmaDocumento(string sCodigo, string sRuta, string sNombre, string sFormato) { eAjax oeAjax = new eAjax(); System.Web.HttpContext context = System.Web.HttpContext.Current; context.Response.ContentType = "application/json"; if (HttpContext.Current.Session["leSeguridad"] == null) { oeAjax.iTipoResultado = 99; oeAjax.sMensajeError = "Fin Session"; return(oeAjax); } try { List <eSeguridad> lstSeguridad = new List <eSeguridad>(); lstSeguridad = (List <eSeguridad>)HttpContext.Current.Session["leSeguridad"]; string sUsuarioAuditoria = lstSeguridad[0].strUsuario; int iIdEmpres = Convert.ToInt32(lstSeguridad[0].iIdEmpresa); int iIdTrabajador = Convert.ToInt32(lstSeguridad[0].iIdTrabajador); string sCertificado = Convert.ToString(lstSeguridad[0].sRutaCertificado); PlanesDAO daoplan = new PlanesDAO(); int iresult = daoplan.fnListafirmaDisponibles(iIdEmpres); if (iresult == 0) { oeAjax.iTipoResultado = -1; oeAjax.sMensajeError = "No Cuenta Con Firmas Disponibles"; } else { if (sCertificado != "") { DocumentosDAO dao = new DocumentosDAO(); var vresult = DownloadFileNODELETE("ftp://ftp.site4now.net//documentos//cargados//", sNombre, "xxeguxx-001", "tornadesco.1", @AppDomain.CurrentDomain.BaseDirectory + "Documentos\\"); //Si Descargo El Documento if (vresult != "") { var certificado = new Certificado(sCertificado); var firmante = new Firmante(certificado); var vrutaDocOriginal = @AppDomain.CurrentDomain.BaseDirectory + "Documentos\\" + sNombre; var vrutaDocFirma = @AppDomain.CurrentDomain.BaseDirectory + "Documentos\\Firmados\\" + sNombre; //firmante.Firmar(@"c:\demos\documento.pdf", @"c:\demos\documento-firmado.pdf"); firmante.Firmar(vrutaDocOriginal, vrutaDocFirma); var notario = new Notario(certificado); var documentoValido = notario.CertificarDocumento(vrutaDocFirma); if (documentoValido == true) { //transfiere el documento firmado UploadFTP(vrutaDocFirma, "ftp://ftp.site4now.net/", "firmante", "tornadesco.1"); var i = dao.fnFirmaDocumento(Convert.ToInt32(sCodigo), @"\\documentos\\firmados\\" + sNombre); File.Delete(vrutaDocOriginal); File.Delete(vrutaDocFirma); oeAjax.iTipoResultado = 1; } } } else { oeAjax.iTipoResultado = -1; oeAjax.sMensajeError = "No Cuenta Con Un Certificado Asignado"; } } //string sresult = dao.fnListaDocumentoPendientes(iIdEmpres, iIdTrabajador); //oeAjax.iTipoResultado = 1; //oeAjax.sValor1 = sresult; } catch (Exception ex) { oeAjax.sMensajeError = ex.Message; } return(oeAjax); }