internal Certificado ObterDadosPDF(int titulo, BancoDeDados banco = null)
        {
            Certificado certificado = new Certificado();

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia(banco))
            {
                #region Título

                DadosPDF dados = DaEsp.ObterDadosTitulo(titulo, bancoDeDados);
                certificado.Titulo = dados.Titulo;
                certificado.Titulo.SetorEndereco = DaEsp.ObterEndSetor(certificado.Titulo.SetorId);
                certificado.Protocolo            = dados.Protocolo;
                certificado.Empreendimento       = dados.Empreendimento;

                #endregion

                #region Dados da Especificidade

                CertificadoCadastroProdutoAgrotoxico esp = ObterHistorico(titulo, dados.Titulo.SituacaoId, bancoDeDados);

                #endregion

                certificado.Destinatario = DaEsp.ObterDadosPessoa(esp.DestinatarioId, certificado.Empreendimento.Id, bancoDeDados);
                certificado.Agrotoxico   = new AgrotoxicoPDF(ObterAgrotoxico(esp.AgrotoxicoId, banco: bancoDeDados));
            }

            return(certificado);
        }
Пример #2
0
        public void actualizarCertificado(Certificado certificado)
        {
            var certDAO          = new CertificadoDAO();
            var certificadoViejo = certDAO.GetCertificado(certificado.idCertificado);

            certDAO.UpdateCertificado(certificado);
            try
            {
                //Mover carpeta de certificado
                if (!certificadoViejo.rutaCert.Equals(certificado.rutaCert))
                {
                    Directory.Move(certificadoViejo.rutaCert, certificado.rutaCert);
                }
                //Mover certificado
                if (!(certificado.rutaCert + "/" + certificadoViejo.cert).Equals(certificado.rutaCert + "/" + certificado.cert))
                {
                    File.Move(certificado.rutaCert + "/" + certificadoViejo.cert, certificado.rutaCert + "/" + certificado.cert);
                }
                if (!(certificado.rutaCert + "/" + certificadoViejo.key).Equals(certificado.rutaCert + "/" + certificado.key))
                {
                    File.Move(certificado.rutaCert + "/" + certificadoViejo.key, certificado.rutaCert + "/" + certificado.key);
                }
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
            }
        }
Пример #3
0
        public void agregarCertificados(Certificado item, string numeroTratamiento, DateTime fecha)
        {
            SqlConnection conexion = new SqlConnection();
            SqlCommand    comando  = new SqlCommand();

            try
            {
                conexion.ConnectionString = AccesoDatosManager.cadenaConexion;
                comando.CommandType       = System.Data.CommandType.Text;
                //MSF-20190420: le agregué todas las columnas. Teniendo en cuenta inclusive lo que elegimos en el combo de selección..
                comando.CommandText  = "insert into Certificados (numeroTratamiento,tipo,numeroCertificado,codigo,cantidadTotal,fecha,cantidadEntregada,activo) values";
                comando.CommandText += "('" + numeroTratamiento + "', '" + item.tipo + "', '" + item.numeroCertificado + "', '" + item.codigo + "', '" + item.cantidadTotal + "', '" + fecha.ToString("MM-dd-yyyy") + "', '" + 0 + "', '" + 1 + "')";
                comando.Connection   = conexion;
                conexion.Open();

                comando.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexion.Close();
            }
        }
Пример #4
0
        private void FrmCertificados_Shown(object sender, EventArgs e)
        {
            ClientEnvironment manager = null;

            try
            {
                manager = Conexao.CreateManager(Program.ConAux);
                Parametro oParam = Program.GetParametro(Program.empresaSelecionada, manager);

                Certificado.PopulaItems(cbCertificados.Items, oParam.usaWService);


                cbCertificados.SelectedItem = oParam.certificado;
                isModified = false;

                oParam = null;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                Conexao.DisposeManager(manager);
            }
        }
Пример #5
0
        private void Page_Loaded(object sender, RoutedEventArgs e)
        {
            List <Certificado>        certs       = new List <Certificado>();
            Certificado               cert        = null;
            List <clsEntityDeclarant> declarantes = new clsEntityDeclarant().cs_pxObtenerTodos();

            foreach (clsEntityDeclarant dec in declarantes)
            {
                try
                {
                    X509Certificate2 certi = new X509Certificate2(File.ReadAllBytes(dec.Cs_pr_Rutacertificadodigital), dec.Cs_pr_Parafrasiscertificadodigital);

                    cert             = new Certificado();
                    cert.Id          = dec.Cs_pr_Declarant_Id;
                    cert.Serie       = certi.GetSerialNumberString();
                    cert.ValidoDesde = certi.NotBefore.ToShortDateString();
                    cert.ValidoHasta = certi.NotAfter.ToShortDateString();
                    cert.AlertaDias  = dec.Cs_pr_Alerta_Dias;
                    certs.Add(cert);
                }
                catch (Exception)
                {
                }
            }

            dgCertificados.ItemsSource = certs;
        }
Пример #6
0
        public static XmlNode getXmlCancelamentoNota(XmlDocument aobjXmlDoc, string astrInscricaoMunicipal, X509Certificate2 aobjCertificado, Faturamento aobjFaturamento)
        {
            string lstrStringAssinatura = Convert.ToInt32(astrInscricaoMunicipal).ToString().PadLeft(8, '0') + aobjFaturamento.NumeroNF.ToString().PadLeft(12, '0');

            XmlNode lobjXmlDetalhe = aobjXmlDoc.CreateElement("Detalhe");

            lobjXmlDetalhe.Attributes.Append(aobjXmlDoc.CreateAttribute("xmlns"));

            XmlNode lobjXmlChaveNFe = aobjXmlDoc.CreateElement("ChaveNFe");

            XmlNode lobjXmlInscricao = aobjXmlDoc.CreateElement("InscricaoPrestador");

            lobjXmlInscricao.InnerText = astrInscricaoMunicipal;
            lobjXmlChaveNFe.AppendChild(lobjXmlInscricao);

            XmlNode lobjNumeroNFe = aobjXmlDoc.CreateElement("NumeroNFe");

            lobjNumeroNFe.InnerText = aobjFaturamento.NumeroNF.ToString();
            lobjXmlChaveNFe.AppendChild(lobjNumeroNFe);

            lobjXmlDetalhe.AppendChild(lobjXmlChaveNFe);

            XmlNode lobjAssinatura = aobjXmlDoc.CreateElement("AssinaturaCancelamento");

            lobjAssinatura.InnerText = Certificado.getAssinatura(lstrStringAssinatura, aobjCertificado);
            lobjXmlDetalhe.AppendChild(lobjAssinatura);

            return(lobjXmlDetalhe);
        }
Пример #7
0
        public Certificado GetIssuerCertInfo(int idRazonSocial)
        {
            Certificado   cert    = new Certificado();
            SqlConnection cnn     = DBConnectionFactory.GetOpenConnection();
            SqlCommand    command = new SqlCommand("PG_SK_CERT_INFO_EMISOR", cnn);

            command.CommandType = CommandType.StoredProcedure;
            command.Parameters.AddWithValue("@PP_L_DEBUG", 0);
            command.Parameters.AddWithValue("@PP_K_SISTEMA_EXE", 1);
            command.Parameters.AddWithValue("@PP_k_RAZON_SOCIAL", idRazonSocial);
            SqlDataReader reader = command.ExecuteReader();

            if (!reader.HasRows)
            {
                throw new InvalidRFCException("RFC proporcionado no es válido o no existe");
            }
            reader.Read();
            cert.cert       = reader.GetValue(0).ToString();
            cert.key        = reader.GetValue(1).ToString();
            cert.contrasena = reader.GetValue(2).ToString();
            cert.rutaCert   = reader.GetValue(3).ToString();
            reader.Close();
            cnn.Close();
            return(cert);
        }
Пример #8
0
        // TIT Parece que este código está repetido en otro controller !
        // Aqui se graba, pero para el Win, lo jala en DetailView al abrir la vista !
        void ObjectSpace_Committing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (View != null)
            {
                Certificado cert = View.CurrentObject as Certificado;

                if (cert != null)
                {
                    if (cert.FileCertif != null && !string.IsNullOrEmpty(cert.FileCertif.FullName))
                    {
                        X509Certificate2 cert509 = null;
                        try
                        {
                            cert509 = new X509Certificate2(cert.FileCertif.FullName);

                            if (cert509 != null)
                            {
                                cert.FechaIni = Convert.ToDateTime(cert509.GetEffectiveDateString());
                                cert.FechaFin = Convert.ToDateTime(cert509.GetExpirationDateString());

                                byte[] nSerie   = cert509.GetSerialNumber();
                                byte[] reversed = nSerie.Reverse().ToArray();
                                cert.SerieCertif = Encoding.ASCII.GetString(reversed);

                                cert.EmprCertif   = cert509.SubjectName.Name;
                                cert.EmisorCertif = cert509.IssuerName.Name;
                            }
                        }
                        catch (Exception)
                        {
                        }
                    }
                }
            }
        }
Пример #9
0
        public static void InicializaServico(
            System.Web.Services.Protocols.SoapHttpClientProtocol oServico,
            Parametro oParam)
        {
            X509Certificate2 certificadoX509 = Certificado.BuscaNome(oParam.certificado, oParam.usaWService, oParam.tipoBuscaCertificado);

            oServico.ClientCertificates.Clear();
            oServico.ClientCertificates.Add(certificadoX509);
            if (oParam.prx)
            {
                oServico.Proxy             = new WebProxy(oParam.prxUrl, true);
                oServico.Proxy.Credentials = new NetworkCredential(oParam.prxUsr, oParam.prxPsw, oParam.prxDmn);
            }
            else
            {
                oServico.Credentials = System.Net.CredentialCache.DefaultCredentials;
            }
            oServico.Timeout = (int)oParam.timeout;
            oServico.InitializeLifetimeService();

            // forçar aceitação de todos os certificados dos servidores da SEFAZ
            // independentemente de ter a cadeia de certificação instalada
            System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); };
            //permitir os protocolos: TLS1.0 TLS1.1 TLS1.2
            System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
        }
Пример #10
0
        public async Task <IActionResult> Edit(Guid id, [Bind("IdCertificado,Graduacao_Id,CertificadoPDF")] Certificado certificado)
        {
            if (id != certificado.IdCertificado)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(certificado);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CertificadoExists(certificado.IdCertificado))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(certificado));
        }
Пример #11
0
        private void Button_Clicked(object sender, EventArgs e)
        {
            Certificado      cert       = new Certificado();
            X509Certificate2 XSertifica = cert.BuscaNome("Andri");

            XmlDocument doc = new XmlDocument();

            doc.Load("/storage/emulated/0/certificados/NotaTeste.xml");
            String xml = doc.InnerXml;

            AssinaturaDigital ass = new AssinaturaDigital();
            //int i = ass.Assinar(xml, "infNFe", XSertifica);
            String            nfe40Schema = App.Manager.nfe40();
            AssetManager      assets      = App.ats;
            XmlReaderSettings Settings    = new XmlReaderSettings();

            Settings.Schemas.Add("http://www.portalfiscal.inf.br/nfe", XmlReader.Create(assets.Open("Schemas/nfe_v4.00.xsd")));
            Settings.Schemas.Add("http://www.portalfiscal.inf.br/nfe", XmlReader.Create(assets.Open("Schemas/leiauteNFe_v4.00.xsd")));
            Settings.Schemas.Add("http://www.w3.org/2000/09/xmldsig#", XmlReader.Create(assets.Open("Schemas/xmldsig-core-schema_v1.01.xsd")));
            Settings.Schemas.Add("http://www.portalfiscal.inf.br/nfe", XmlReader.Create(assets.Open("Schemas/tiposBasico_v4.00.xsd")));
            Settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack);
            Settings.ValidationType          = ValidationType.Schema;
            try
            {
                XmlReader validator = XmlReader.Create("/storage/emulated/0/certificados/xml.xml", Settings);
                Montagem_lote("/storage/emulated/0/certificados/xml.xml", "12345.xml", 1234);
                while (validator.Read())
                {
                }
            }
            catch (Exception EX)
            {
                string ex = EX.ToString();
            }
        }
Пример #12
0
        public void insertCertificado(Certificado cert, int idRazonSocial)
        {
            var certDAO = new CertificadoDAO();
            int id      = certDAO.InsertCertificado(cert, idRazonSocial);

            cert.idCertificado = id;
        }
Пример #13
0
        public bool leerRemitocert(Certificado cert)
        {
            List <Detalle>     listado     = new List <Detalle>();
            AccesoDatosManager accesoDatos = new AccesoDatosManager();
            Detalle            det         = new Detalle();

            try
            {
                accesoDatos.setearConsulta("Select numeroCertificado from DETALLES");
                accesoDatos.abrirConexion();
                accesoDatos.ejecutarConsulta();
                while (accesoDatos.Lector.Read())
                {
                    if (!Convert.IsDBNull(accesoDatos.Lector["numeroCertificado"]))
                    {
                        det.numeroCertificado = accesoDatos.Lector["numeroCertificado"].ToString();
                    }

                    if (cert.numeroCertificado == det.numeroCertificado)
                    {
                        return(true);
                    }
                }

                return(false);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                accesoDatos.cerrarConexion();
            }
        }
Пример #14
0
        public IActionResult Create([Bind("sNumero,sNome,dVencimento,dServico,IdTipo")] Certificado _certificado, IFormFile sImagem)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    if (sImagem != null)
                    {
                        string[] aFoto = sImagem.FileName.Split('.');

                        _certificado.sImagem = DateTime.Now.ToString("yyyyMMddHHmmss") + "." + aFoto[aFoto.Count() - 1];
                        Diverso.SaveImage(sImagem, "CERTIFICADO", _certificado.sImagem);
                    }

                    _certificado.iCodUsuarioMovimentacao = HttpContext.Session.GetComplexData <Usuario>("UserData").ID;
                    _certificadoRepository.Add(_certificado);
                    _flashMessage.Confirmation("Operação realizada com sucesso!");
                }
                catch (Exception)
                {
                    _flashMessage.Danger("Erro ao realizar a operação!");
                    throw;
                }

                return(RedirectToAction(nameof(Index)));
            }

            ViewBag.ListaTipo = _tipoRepository.GetAllTipoDrop(3);
            return(View(_certificado));
        }
Пример #15
0
        public bool UpdateCertificado(Certificado cert)
        {
            SqlConnection cnn = DBConnectionFactory.GetOpenConnection();
            SqlCommand    cmd = new SqlCommand("PG_UP_CERTIFICADO", cnn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@PP_ID_CERTIFICADO", cert.idCertificado);
            cmd.Parameters.AddWithValue("@PP_D_CERTIFICADO", cert.descripcion);
            cmd.Parameters.AddWithValue("@PP_C_CERTIFICADO", cert.identificador);
            cmd.Parameters.AddWithValue("@PP_CERTIFICADO", cert.cert);
            cmd.Parameters.AddWithValue("@PP_RUTA_CERTIFICADO", cert.rutaCert);
            cmd.Parameters.AddWithValue("@PP_LLAVE", cert.key);
            cmd.Parameters.AddWithValue("@PP_CONTRASENA", cert.contrasena);
            cmd.Parameters.AddWithValue("@PP_LOGO", "logo_" + cert.cert);
            cmd.Parameters.AddWithValue("@PP_FECHA_EXPIRACION", cert.fechaExpiracion);
            try
            {
                int id = cmd.ExecuteNonQuery();
                if (id == 0)
                {
                    throw new Exception("No fue posible actualizar el certificado");
                }
                return(true);
            }
            catch (Exception e)
            {
                logger.Error(e, e.Message);
                throw e;
            }
            finally
            {
                cmd.Dispose();
                cnn.Dispose();
            }
        }
Пример #16
0
        private void VerificaCertificado()
        {
            //consulta status do servidor
            ClientEnvironment manager = null;
            Parametro         oParam  = null;

            try
            {
                manager = Conexao.CreateManager(Program.ConAux);
                oParam  = Program.GetParametro(Program.empresaSelecionada, manager);

                if (String.IsNullOrEmpty(oParam.certificado))
                {
                    lbsValidadeCertificado.Text = "Certificado : Nenhum certificado selecionado.";
                }
                else
                {
                    //verificar validade do certificado
                    var oCertificado = Certificado.BuscaNome(oParam.certificado, oParam.usaWService, oParam.tipoBuscaCertificado);

                    lbsValidadeCertificado.Text = "Certificado : " + oCertificado.GetNameInfo(X509NameType.SimpleName, false);

                    if (oCertificado.Verify())
                    {
                        lbsValidadeCertificado.Text += " | Cadeia : OK";
                    }
                    else
                    {
                        lbsValidadeCertificado.Text += " | Cadeia : Erro";
                    }

                    lbsValidadeCertificado.Text += " | Válido até : " + oCertificado.GetExpirationDateString();
                }

                lbsValidadeCertificado.Text += " | Ambiente : " + (oParam.tipoAmbiente == TAmb.Homologacao ? "Homologação" : "Produção");

                //criar arquivo HeartBeat
                //verificar se FuncaoAutomação esta rodando
                if (!Program.empresasHabilitadas.First(em => em.cnpj == Program.empresaSelecionada).AutomacaoHabilitada&& !Program.ServicoHabilitado)
                {
                    foreach (var item in Program.empresasHabilitadas.Where(e => e.habilitada)) //somente habilitadas
                    {
                        NFeUtils.GeraHeartBeat(false, item.cnpj);
                    }
                }

                //exibir se envio de erros esta habilitado
                AtualizarLabelEnviarErros();
            }
            catch
            {
                //silent
            }
            finally
            {
                oParam = null;
                Conexao.DisposeManager(manager);
            }
        }
Пример #17
0
        public void ValidaFechaExpiracion()
        {
            DateTime FechaExpiracion = DateTime.Parse(Certificado.GetExpirationDateString());

            if (FechaExpiracion < DateTime.Now)
            {
                throw new Exception(Resource.ErrorExpiracion);
            }
        }
Пример #18
0
        void Control_Validated(object sender, EventArgs e)
        {
            if (View != null)
            {
                Certificado cert = View.CurrentObject as Certificado;
                if (cert != null &&
                    cert.FileCertif != null && !string.IsNullOrEmpty(cert.FileCertif.FullName))
                {
                    X509Certificate2 cert509 = null;

                    DetailView dv = View as DetailView;

                    if (dv != null)
                    {
                        try
                        {
                            cert509 = new X509Certificate2(cert.FileCertif.FullName);

                            if (cert509 != null)
                            {
                                StringPropertyEditor emp = dv.FindItem("EmprCertif") as StringPropertyEditor;
                                if (emp != null)
                                {
                                    emp.PropertyValue = cert509.SubjectName.Name;
                                }

                                StringPropertyEditor emsr = dv.FindItem("EmisorCertif") as StringPropertyEditor;
                                if (emsr != null)
                                {
                                    emsr.PropertyValue = cert509.IssuerName.Name;
                                }

                                DatePropertyEditor fi = dv.FindItem("FechaIni") as DatePropertyEditor;
                                if (fi != null)
                                {
                                    fi.PropertyValue = Convert.ToDateTime(cert509.GetEffectiveDateString());
                                }

                                DatePropertyEditor ff = dv.FindItem("FechaFin") as DatePropertyEditor;
                                if (ff != null)
                                {
                                    ff.PropertyValue = Convert.ToDateTime(cert509.GetExpirationDateString());
                                }

                                StringPropertyEditor crt = dv.FindItem("SerieCertif") as StringPropertyEditor;
                                byte[] nSerie            = cert509.GetSerialNumber();
                                byte[] reversed          = nSerie.Reverse().ToArray();
                                crt.PropertyValue = Encoding.ASCII.GetString(reversed);
                            }
                        }
                        catch (Exception)
                        {
                        }
                    }
                }
            }
        }
Пример #19
0
        private void dgCertificados_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
        {
            DataGridRow        item        = e.Row;
            Certificado        comprobante = (Certificado)item.DataContext;
            clsEntityDeclarant dec         = new clsEntityDeclarant().cs_pxObtenerUnoPorId(comprobante.Id);

            dec.Cs_pr_Alerta_Dias = comprobante.AlertaDias;
            dec.cs_pxActualizar(false);
        }
Пример #20
0
        public string CuerpoCertificadoFueraDeFecha(string nombreUsuario, Certificado certificado)
        {
            var mensaje = Configuration.GetSection("CertificadoFueraDeFecha").Value;

            mensaje = mensaje.Contains("@FechaGeneracion") ? mensaje.Replace("@FechaGeneracion", certificado.FechaGeneracion.ToString("dd/MM/yyyy")) : mensaje;
            mensaje = mensaje.Contains("@CertificadoId") ? mensaje.Replace("@CertificadoId", certificado.CertificadoId.ToString()) : mensaje;
            mensaje = mensaje.Contains("@NombreUsuario") ? mensaje.Replace("@NombreUsuario", nombreUsuario) : mensaje;
            return(mensaje);
        }
Пример #21
0
        public Certificado EmitirCertificado(CertificadoCommand command)
        {
            var evento      = _repositorioEventos.RecuperarPorEventoId(new EventoId(command.EventoId));
            var certificado = new Certificado(evento.EventoId, command.NomeParticipante, command.ChavePaticipante);

            // TODO : Persistir certificado
            // Disparar pelo domain Events o redirect para a view de emissão
            throw new NotImplementedException();
        }
Пример #22
0
        /// <summary>
        /// Metodo para obtener informacion de la firma digital
        /// </summary>
        public void ObtenerFirmaDigital()
        {
            ManteUdoCertificadoDigital manteUdoFirma = new ManteUdoCertificadoDigital();

            Certificado certificado = manteUdoFirma.Consultar();

            RUTA_CERTIFICADO  = certificado.RutaCertificado;
            CLAVE_CERTIFICADO = certificado.Clave;
        }
Пример #23
0
 private void button1_Click(object sender, EventArgs e)
 {
     certificado                   = new Certificado();
     certificado.tipo              = cboTipo.Text;
     certificado.cantidadTotal     = double.Parse(txtCantidad.Text);
     certificado.codigo            = txtCodigo.Text;
     certificado.numeroCertificado = txtnumeroCertificado.Text;
     listaDetalles.Add(certificado);
     refrescarGrilla();
 }
Пример #24
0
        public ActionResult GuardarCertificado(Certificado item)
        {
            item.EmpresaId  = 2;            //todo
            item.Registrado = DateTime.Now;

            var dbHelper = new CertificadosHelper(CertificadosHelper.GetConnection());
            var message  = dbHelper.GuardarCertificado(item);

            return(Json(item));
        }
Пример #25
0
    public string GetDatosCertificado(int idFicepi, int idCert)
    {
        StringBuilder sb = new StringBuilder();
        Certificado   o  = Certificado.Select(idCert, idFicepi);

        sb.Append(o.T582_NOMBRE + "///");
        sb.Append(o.T582_ABREV + "///");
        sb.Append(o.T036_IDCODENTORNO.ToString() + "///"); //Código Entorno tecnologico
        sb.Append(o.T576_IDCRITERIO.ToString() + "///");   //Código entidad certificadora
        sb.Append(o.EntidadCertificadora + "///");
        sb.Append(o.EntornoTecnologico + "///");
        sb.Append(o.FOBTENCION + "///");                //fecha de obtencion del certificado
        sb.Append(o.FCADUCIDAD + "///");
        sb.Append(o.EstadoCertificado + "///");         //Estado del certificado
        sb.Append(o.t2_iddocumento.ToString() + "///"); //identificador del documento en Atenea
        if (o.DocRechazado)                             //10
        {
            sb.Append("S///");
        }
        else
        {
            sb.Append("N///");
        }
        sb.Append(o.T593_NDOC + "///"); //Nombre del documento acreditativo del certificado

        if (o.BDOC)                     //12
        {
            sb.Append("S///");
        }
        else
        {
            sb.Append("N///");
        }

        if (o.Completado)//13
        {
            sb.Append("S///");
        }
        else
        {
            sb.Append("N///");
        }

        if (o.T582_VALIDO)//14
        {
            sb.Append("S///");
        }
        else
        {
            sb.Append("N///");
        }
        sb.Append(o.MOTIVORT + "///");                                            //Motivo de rechazo
        sb.Append(Utilidades.escape(Curvit.ToolTipEstados(o.EstadoCertificado))); //Denominación del estado
        return(sb.ToString());
    }
Пример #26
0
        public Certificado fiel(IFormFile cert, IFormFile key, string password, string empId, string rfc)
        {
            var certificado = new Certificado();
            var error       = false;

            var certPath = this._upload.uploadCerFile(cert, empId, rfc, cert.FileName);
            var keyPath  = this._upload.uploadKeyFile(key, empId, rfc, key.FileName);

            var datosCert = this._security.ExtraeDatosCer(certPath);

            if (datosCert.Rfc != rfc)
            {
                ModelState.AddModelError("CerFiel", "El rfc definido en el certificado no coincide con el especificado en el formulario");
                error = true;
            }

            //Validación FAKE UVM131003DL4
            if ((rfc == "UVM131003DL4") && (password == "UVM131003"))
            {
                error = false;
            }
            else
            {
                if (!_security.ValidarLLave(keyPath, password))
                {
                    ModelState.AddModelError("KeyFiel", "La contraseña de la llave es incorrecta");
                    error = true;
                }
                else if (!_security.ValidarCerLLave(certPath, keyPath, password))
                {
                    ModelState.AddModelError("KeyFiel", "La llave del certificado no es correcta");
                    error = true;
                }
            }

            if (error)
            {
                this._upload.deleteFile(certPath);
                this._upload.deleteFile(keyPath);
            }


            if (!error)
            {
                certificado.CerArchivoCer  = this._security.Encriptar(cert.FileName);
                certificado.CerArchivoKey  = this._security.Encriptar(key.FileName);
                certificado.CerContrasena  = _security.Encriptar(password);
                certificado.CerFechaFin    = datosCert.FechaFin;
                certificado.CerFechaInicio = datosCert.FechaInicio;
                certificado.CerRFC         = datosCert.Rfc;
                certificado.CerEstatus     = 1;
            }
            return(certificado);
        }
Пример #27
0
        public bool ConsultaSituacaoAtualNFCe(string caminhoNFCe, string numRec, string serialCertificado = null)
        {
            Mensagem = "";

            try
            {
                NFe nfce = ManipularXML.Load <NFe>(caminhoNFCe);

                if (!SetarWebService("NFCe", Estados.ObterEstado(nfce.InfNFe.Ide.CUF), EnderecoWS.ObterAmbiemte(nfce.InfNFe.Ide.TpAmb), "NFeRetAutorizacao"))
                {
                    Erro = "Web Service não foi encontrado";
                    return(false);
                }

                if (!Certificado.BuscarCertificado(nroSerie: serialCertificado))
                {
                    Erro = Certificado.Erros;
                    return(false);
                }

                XmlDocument recNfe = ConsReciboNF(nfce, numRec).ToXmlDocument();

                using (Wsdl.NFCe.Autorizacao.NFeRetAutorizacao4 ws = new Wsdl.NFCe.Autorizacao.NFeRetAutorizacao4(WebServiceNFCe.WebService, Certificado.X509Certificado, TimeOut))
                {
                    bool tentarNovamente;
                    bool resultado;
                    do
                    {
                        tentarNovamente = false;
                        XmlNode n = ws.Execute(recNfe);
                        if (n == null)
                        {
                            throw new Exception($"Falha no envio do arquivo de retorno (404 - Serviço não encontrado).\n\nWeb Service {WebServiceNFCe.WebService}");
                        }
                        else
                        {
                            resultado = RetornoConsultaRecibo(nfce, n.OuterXml.ToXmlClass <RetConsReciNFe>(), caminhoNFCe, out tentarNovamente);

                            if (!tentarNovamente)
                            {
                                return(resultado);
                            }
                        }
                    } while (tentarNovamente);

                    return(resultado);
                }
            }
            catch (Exception ex)
            {
                Erro = $"ERRO NO PROCESSO DE CONSULTA ATUAL\n\n{ex.Message}";
                return(false);
            }
        }
Пример #28
0
        public void CertificarDocumento_CertificaDocumentosFirmados()
        {
            var recursos        = Herramientas.GetResourcesPath();
            var pathCertificado = Path.Combine(recursos, "certificado.pfx");
            var pathDocumento   = Path.Combine(recursos, "documento-firmado.pdf");
            var certificado     = new Certificado(pathCertificado);
            var notario         = new Notario(certificado);

            var resultado = notario.CertificarDocumento(pathDocumento);

            Assert.IsTrue(resultado);
        }
Пример #29
0
        public async Task <IActionResult> Create([Bind("IdCertificado,Graduacao_Id,CertificadoPDF")] Certificado certificado)
        {
            if (ModelState.IsValid)
            {
                certificado.IdCertificado = Guid.NewGuid();
                _context.Add(certificado);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(certificado));
        }
Пример #30
0
 public CertificadoProviders(X509Certificate2 certificado,
                             string folderTemp,
                             int codEmp,
                             string pin)
 {
     this.Certificado          = certificado;
     this.TempFile             = folderTemp + "\\Temp\\Simulacao.xml";
     this.CodEmp               = codEmp;
     this.PIN                  = pin;
     this.IsA3                 = Certificado.IsA3();
     this.ProviderIdentificado = false;
 }