예제 #1
0
 private void btn_certificado_windows_Click(object sender, EventArgs e)
 {
     try
     {
         X509Certificate2 certificado = CertificadoDigital.ListareObterDoRepositorio();
         if (certificado.IsA3())
         {
             string senha = Prompt.ShowDialog("Entre com a senha do certificado", "");
             certificado = CertificadoDigital.getA3Certificado(certificado.SerialNumber, senha);
             certificado.VerificaValidade();
             user_control.salvarCertificadoUserLogado(certificado, 3, "", senha);
         }
         else
         {
             certificado.VerificaValidade();
             user_control.salvarCertificadoUserLogado(certificado, 2, "", "");
         }
         MessageBox.Show("O certificado foi configurado com êxito");
         this.Close();
     }
     catch (Exception ex)
     {
         if (ex.Message.Contains("Nome do parâmetro: index"))
         {
             MessageBox.Show("Certificado não selecionado.");
         }
         else
         {
             MessageBox.Show("Erro ao obter certificado: " + ex.Message);
         }
     }
 }
예제 #2
0
        private void inicializaAutomatico()
        {
            try
            {
                try
                {
                    this.user_control = new UsersControl(true);
                    if (this.user_control.User_logado != null)
                    {
                        if (this.user_control.User_logado.Status_certificado == 1)
                        {
                            this.user_control.User_logado.Certificado = new X509Certificate2(this.user_control.User_logado.Caminho_certificado, this.user_control.User_logado.Senha_certificado);
                        }
                        else if (this.user_control.User_logado.Status_certificado == 2)
                        {
                            this.user_control.User_logado.Certificado = CertificadoDigital.getA1CertificadoWindows(this.user_control.User_logado.Serial_certificado);
                        }
                        else if (this.user_control.User_logado.Status_certificado == 3)
                        {
                            this.user_control.User_logado.Certificado = CertificadoDigital.getA3Certificado(this.user_control.User_logado.Serial_certificado, this.user_control.User_logado.Senha_certificado);
                        }

                        if (this.user_control.User_logado.Certificado != null)
                        {
                            try
                            {
                                this.user_control.User_logado.Certificado.VerificaValidade();
                            }
                            catch (Exception e)
                            {
                                MessageBox.Show("Erro no certificado: " + e.Message);
                                this.user_control.User_logado.Certificado = null;
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Erro ao carregar user local: " + ex.Message);
                    this.user_control = new UsersControl();
                }
                this.modal_config = new ModalConfig(this.user_control);
                this.modal_login  = new ModalLogin(this.user_control);
                atualizarInterface();
            } catch (Exception ex)
            {
                MessageBox.Show("Erro ao carregar user local: " + ex.Message);
            }
        }