コード例 #1
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
                    X509Certificate2 oCertificado = Certificado.CarregarPorNome(oParam.certificado, oParam.usaWService);

                    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);
            }
        }