예제 #1
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();
            }
        }
예제 #2
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;
        }
예제 #3
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);
            }
        }